gpt4 book ai didi

scala - 如何在Spark中使用elasticsearch-hadoop将数据从一个Elasticsearch集群重新索引到另一个集群

转载 作者:行者123 更新时间:2023-12-02 22:19:23 24 4
gpt4 key购买 nike

我有两个单独的Elasticsearch集群,我想将第一个集群的数据重新索引到第二个集群,但是我发现我只能在SparkContext配置内设置一个Elasticsearch集群,例如:

var sparkConf : SparkConf = new SparkConf()
.setAppName("EsReIndex")
sparkConf.set("es.nodes", "node1.cluster1:9200")

那么如何在同一应用程序内部的Spark中通过 flex 搜索-Hadoop在两个Elasticsearch集群之间移动数据呢?

最佳答案

您无需为此配置SparkConf内部的节点地址。

当使用elasticsearch格式的DataFrameWriter时,可以按以下方式传递节点地址作为选项:

val df = sqlContext.read
.format("elasticsearch")
.option("es.nodes", "node1.cluster1:9200")
.load("your_index/your_type")

df.write
.option("es.nodes", "node2.cluster2:9200")
.save("your_new_index/your_new_type")

这应该与spark 1.6.X和相应的elasticsearch-hadoop连接器一起使用。

关于scala - 如何在Spark中使用elasticsearch-hadoop将数据从一个Elasticsearch集群重新索引到另一个集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40315512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com