Spark写给Elasticsearch的性能很慢

时间:2018-03-20 19:02:29

标签: apache-spark elasticsearch pyspark elasticsearch-hadoop

我似乎遇到了一个问题,即Spark写入Elasticsearch非常慢,并且在进行初始连接时需要花费大量时间(大约15分钟),在此期间Spark和Elasticsearch都处于空闲状态。 在弹性社区中还有另一个thread突出显示相同的问题,但它已经关闭而没有任何解决方案。

这就是我从Spark写到ES的方式:

vgDF.write.format("org.elasticsearch.spark.sql").mode('append').option("es.resource", "demoindex/type1").option("es.nodes", "*ES IP*").save()

Spark规范

Spark 2.1.0 3 cpu x 10 gb ram x 6 executors running on 3 gce nodesSpark 2.1.0

Elasticsearch规范:

8 cpu * 30 gb RAM single node

ES版本:

Elasticsearch: 6.2.2 ES-Hadoop: 6.2.2

为了您的信息,Spark从Cassandra DB读取数据,处理结果(但这个过程非常快,大约需要1-2分钟),然后写入Elasticsearch。

非常感谢任何帮助

[编辑]

我也尝试将数百万条记录的数据大小改为960条记录,但初始延迟仍然相同(约15分钟)。

1 个答案:

答案 0 :(得分:1)

看起来ES连接正在超时。检查您提供的IP地址是否可以访问ES。如果您使用的是公共IP,请尝试将其更改为私有IP