当前位置: 首页 > 面试题库 >

在每个json文档之前添加标题行

车辰龙
2023-03-14
问题内容

我有一个带有1000个json对象的json文件。有什么办法可以在每个json文档之前添加标题行?有没有最简单的方法?

示例:我有1000个这样的对象

{"id":58,"first_name":"Louis","last_name":"Jordan","email":"ljordan1l@nature.com","gender":"Male","Latitude":"-15.93444","Longitude":"-50.14028"}

我想为每个json对象添加如下所示的索引标头,以便可以在Elasticsearch Bulk api中使用

{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "unique_id" } }
{"id":58,"first_name":"Louis","last_name":"Jordan","email":"ljordan1l@nature.com","gender":"Male","Latitude":"-15.93444","Longitude":"-50.14028"}

问题答案:

如果您愿意利用Logstash,则无需修改文件,而可以简单地逐行读取文件,并使用elasticsearch利用Bulk API 的输出将其流式传输到ES

将以下Logstash配置存储在一个名为的文件中es.conf(确保该文件path和ES hosts与您的设置匹配):

input {
  file {
    path => "/path/to/your/json"
    sincedb_path => "/dev/null"
    start_position => "beginning"
    codec => "json"
  }
}
filter {
  mutate {
    remove_fields => ["@version", "@timestamp"]
  }
}
output {
  elasticsearch {
    hosts => "localhost:9200"
    index => "test"
    document_type => "type1"
    document_id => "%{id}"
  }
}

然后,您需要安装logstash,并且将能够运行以下命令,以便将JSON文件加载到ES服务器:

bin/logstash -f es.conf


 类似资料:
  • 我有一些火花代码来处理csv文件。它对其进行一些转换。我现在想将此RDD保存为csv文件并添加一个标头。此RDD的每一行都已正确格式化。 我不知道怎么做。我想用头字符串和我的RDD进行联合,但头字符串不是RDD,因此无法工作。

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

  • 问题内容: 每当我对应用程序中的其余控制器发出请求以允许跨源资源共享时,我想将此标头添加到对客户端的每个响应中,目前我正在手动添加每个这样的方法的标头 它的工作,但非常令人沮丧。我在Spring文档中找到了webContentInterceptor,它允许我们修改每个响应的标头 但是当我使用它时,它会引发错误,即找不到名称为Access-Control-Allow-Origin的属性,因此还有其他

  • 在使用Spring批处理实现标题之前,我必须在CSV文件中添加一行免责声明。例如,下面是我预期的CSV文件: 免责声明XYZ。。。Col1 Col2 Col3 abc efg pqr 目前,我正在使用FlatFileItemWriter和FlatFileHeaderCallBack创建CSV文件,并在其中写入标题及其相应的值。 但我不能添加免责声明,然后按照上面显示的标题。 下面是我的代码一瞥:

  • 问题内容: 我正在尝试使用绘制多个热图。我发现一个示例如下: 如果我注释以下两行,则代码成功(在上面的示例中完成): 如果使用这两行,则会收到错误消息: 我该如何纠正? 谢谢大家的帮助!!! 问题答案: 使用matplotlib面向对象的接口时,要使用的正确命令是和。 (对于状态机接口,将其与等比较)。 同样,要设置标题,您需要 您可以在api文档中(此处)查看实例的所有可用方法。

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