我有一个 Spark 数据框,其中有一列说“名称”。该名称在单个数据框中可以具有不同的值。
当我使用spark(scala)将数据写入elasticsearch时,我想根据“名称”列的值将数据写入不同的索引。
dataframe.saveToEs("index-name")
saveToEs需要一个字符串,我正在寻找以下内容:
dataframe.saveToEs(col(""))
或类似的地方,我可以在写入期间分配值。
最佳答案
神话,
我只是在文档中看到您可以使用类似以下内容的东西:
rdd.saveToEs("my-collection-{media_type}/doc")
这使您能够:
Save each object based on its resource pattern, in this example based on media_type. For each document/object about to be written, elasticsearch-hadoop will extract the media_type field and use its value to determine the target resource.
资源 :
https://www.elastic.co/guide/en/elasticsearch/hadoop/master/spark.html#spark-write-dyn-scala
关于apache-spark - 带有Spark的Elasticsearch,基于数据框列的动态索引创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59692025/