apachespark将json列数据保存到elasticsearch中

zqdjd7g9  于 2021-05-16  发布在  Spark
关注(0)|答案(0)|浏览(386)

我有这样一个 Dataframe :

+--------------------------------------+
|data2                                 |
+--------------------------------------+
|{"XM":{"NY":{"avg":10,"deviation":5}}}|
|{"TL":{"AT":{"avg":8,"deviation":6}}} |
|{"LM":{"CA":{"avg":7,"deviation":8}}} |
+--------------------------------------+

我有一个名为“test”的elasticsearch索引,我做了以下Map:

PUT test
{
  "mappings": {
    "my_type": {
      "properties": {
        "data": {
          "type": "nested" 
        }
      }
    }
  }
}

我想将数据列的内容保存在用嵌套的jsonMap的索引中。我正在做以下工作:

val setup: scala.collection.mutable.Map[String, String] =
        scala.collection.mutable.Map(
          "pushdown" -> "true",
          "es.nodes" -> "http://localhost:9200/",
          "es.index.auto.create" -> "true",
          "es.input.json" -> "true"
        )

df.write.format("org.elasticsearch.spark.sql").options(setup).mode(SaveMode.Append).save("test/my_type")

当我这样做时,我在同一索引中得到另一个Map,它不是嵌套结构,而是关键字结构。有没有一种方法可以将我的列转储到我创建的Map中,以便获得嵌套结构?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题