Как скопировать данные Elasticsearch в SQL Server - PullRequest
0 голосов
/ 10 октября 2018

Я хочу отправить данные из kibana (Elasticsearch) в mysql.Есть ли простой способ сделать это напрямую или, если это возможно, через python?

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

То, что вам нужно, называется ETL, я не даю точного ответа, поскольку ваш вопрос носит более общий характер.

Вы можете разработать небольшой скрипт на Python для достижения этой цели, но в целом это более полезно, если использовать настоящий ETL.

Я рекомендую Apache Spark с официальным плагином эластичной связью:

Пример в Scala (но вы можете использовать Python, Java или R):

val df = sqlContext.read().format("org.elasticsearch.spark.sql").load("spark/trips")

df.write.jdbc(jdbcUrl, "_table_")

Преимущества:

  • Spark будет распределять работу через рабочих (будет одновременно читать все осколки эластичного поиска!)
  • Обрабатывать аварийное переключение
  • Позволяет изменятьданные
0 голосов
/ 10 октября 2018

Я думаю, что всю задачу можно разделить на две части:

  1. как получить данные изasticsearch (вы можете сделать это через python): https://elasticsearch -py.readthedocs.io/en/master/

  2. как добавить данные в mysql (вы можете сделать это через python): https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-transaction.html

Кстати, вы можете проверить эту страницу, чтобы узнать пример скрипта для получения всех документов из одного индекса в ES через python: https://discuss.elastic.co/t/get-all-documents-from-an-index/86977

...