1

我有一个火花数据框,其中有一列说“名称”。该名称在单个数据框中可能具有不同的值。当我使用 spark (scala) 将数据写入 elasticsearch 时,我想根据列“name”的值将数据写入不同的索引。

dataframe.saveToEs("index-name")

saveToEs 需要一个字符串,我正在寻找以下内容:

dataframe.saveToEs(col(""))

或类似的东西,我可以在写入期间分配值。

4

1 回答 1

0

神话,

我刚刚在文档中看到你可以使用这样的东西:

rdd.saveToEs("my-collection-{media_type}/doc")

它允许您:

根据其资源模式保存每个对象,在此示例中基于 media_type。对于每个即将写入的文档/对象,elasticsearch-hadoop 将提取 media_type 字段并使用其值来确定目标资源。

来源: https ://www.elastic.co/guide/en/elasticsearch/hadoop/master/spark.html#spark-write-dyn-scala

于 2020-01-11T07:29:10.193 回答