Запись Spark в Elasticsearch с низкой производительностью

Кажется, я столкнулся с проблемой, из-за которой Spark пишет в Elasticsearch очень медленно, и на установление первоначального соединения уходит довольно много времени (около 15 минут), в течение которого Spark и Elasticsearch остаются бездействующими. Есть еще одна тема, освещающая ту же проблему в сообществе эластиков, но она была закрыта без какого-либо решения.

Вот как я пишу из Spark в ES:

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

Спецификации искры

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 ответ

Решение

Похоже, ES соединение истекло. проверьте, доступен ли ES по предоставленному вами IP-адресу. если вы используете публичный IP, попробуйте изменить его на частный IP

Другие вопросы по тегам