我有一个火花数据框,其中有一列说“名称”。该名称在单个数据框中可能具有不同的值。当我使用 spark (scala) 将数据写入 elasticsearch 时,我想根据列“name”的值将数据写入不同的索引。
dataframe.saveToEs("index-name")
saveToEs 需要一个字符串,我正在寻找以下内容:
dataframe.saveToEs(col(""))
或类似的东西,我可以在写入期间分配值。
我有一个火花数据框,其中有一列说“名称”。该名称在单个数据框中可能具有不同的值。当我使用 spark (scala) 将数据写入 elasticsearch 时,我想根据列“name”的值将数据写入不同的索引。
dataframe.saveToEs("index-name")
saveToEs 需要一个字符串,我正在寻找以下内容:
dataframe.saveToEs(col(""))
或类似的东西,我可以在写入期间分配值。
神话,
我刚刚在文档中看到你可以使用这样的东西:
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