当前位置: 首页 > 知识库问答 >
问题:

Jolt转换在每个json记录之前添加新的索引json记录

公冶嘉
2023-03-14

输入JSON

[
    {
        "timestamp":"2020-01-28 12:13:43,561",
        "threadno":"5",
        "loglevel":"DEBUG",
        "class":"someclassname",
        "nanoseconds":"587800052",
        "message":null,
        "stackTrace":null
    },
    {
        "timestamp":"2020-01-28 12:33:57,328",
        "threadno":"12",
        "loglevel":"DEBUG",
        "class":"someclassname",
        "nanoseconds":"6419049968",
        "message":null,
        "stackTrace":null
    }
]

输出JSON


[
    {
        "index":{
            "_index":"test",
            "_type":"doc",
            "_id":"20200128121343561"
        }
    },
    {
        "timestamp":"2020-01-28 12:13:43,561",
        "threadno":"5",
        "loglevel":"DEBUG",
        "class":"someclassname",
        "nanoseconds":"587800052",
        "message":null,
        "stackTrace":null
    },
    {
        "index":{
            "_index":"test",
            "_type":"doc",
            "_id":"20200128123357328"
        }
    },
    {
        "timestamp":"2020-01-28 12:33:57,328",
        "threadno":"12",
        "loglevel":"DEBUG",
        "class":"someclassname",
        "nanoseconds":"6419049968",
        "message":null,
        "stackTrace":null
    }
]

我需要在每个json记录{“索引”:{“_index”:“test”,“_type”:“doc”,“_id”:“20200128121343561”}}之前添加这个索引记录,并且_id值是从时间戳派生的。我们还可以使用jolt转换在每个json记录后添加新行吗

共有1个答案

弘烨烁
2023-03-14

处理< code>timestamp字段以创建< code>_id是一种数据转换。根据jolt文档,您必须编写定制的Java代码。

目前,所有的Stock转换只影响数据的“结构”。要进行数据操作,您需要编写Java代码。如果您编写Java“数据操作”代码来实现Transform接口,那么您可以将代码插入到转换链中。

看见https://github.com/bazaarvoice/jolt详细信息。

 类似资料:
  • 我有下面的JSON代码,有必要在每个记录的末尾添加键/值,如示例所示。我使用JOLT Transform处理器进行JSON转换。 输入: 预期输出: 非常感谢你的帮助。提前感谢。

  • 我想转换这个JSON: 对此JSON: 我目前正在使用该规范,但它不适合我: 有人能给出一个规范吗?有没有关于jolt JSON的明确文档 ................................................................................................................................

  • 我想转换我的嵌套json消息,并使用Jolt规范只获取必需的文件- 我的输入JSON: 低于我的规格输出,这不是预期的- 我尝试了很多选择,但国籍不是我预期的输出。请在这里帮助颠簸转换

  • 我已经在我的windows计算机上安装了logstash和elasticSearch,配置如下(根据配置,它在1分钟内轮询客户表中的记录) #1 Logstash配置文件加载客户表数据并将其索引为Logstash-config.conf #2用数据库创建包含一些记录的表 #4点击get API 4.1:不返回任何记录http://localhost:9200/customer_index/_sea

  • 问题内容: 我有此数据: 代码(对于SQL Server 2005): 我想为每个名称获取具有最新DATE的ID。像这样: 实现此目的最优雅的方法是什么? 问题答案: 尽量避免使用保留字(和模糊的列名),例如…

  • 问题内容: 我有一个带有1000个json对象的json文件。有什么办法可以在每个json文档之前添加标题行?有没有最简单的方法? 示例:我有1000个这样的对象 我想为每个json对象添加如下所示的索引标头,以便可以在Elasticsearch Bulk api中使用 问题答案: 如果您愿意利用Logstash,则无需修改文件,而可以简单地逐行读取文件,并使用利用Bulk API 的输出将其流式