如何将elasticsearch数据复制到sql server

wqnecbli  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(406)

我想把数据从kibana(elasticsearch)发送到mysql。有没有什么简单的方法可以直接或通过python来实现?

flmtquvp

flmtquvp1#

你需要的是所谓的etl,我没有给出确切的答案,因为你的问题更一般。
您可以开发一个小的python脚本来实现这一点,但一般来说,使用真正的etl更有用。
我推荐ApacheSpark和官方的ElasticSearchHadoop插件:
https://www.elastic.co/guide/en/elasticsearch/hadoop/current/spark.html
https://docs.databricks.com/spark/latest/data-sources/sql-databases.html#write-数据到jdbc
scala中的示例(但可以使用python、java或r):

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

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

好处:
spark将通过workers分发工作(将同时读取所有elasticsearch碎片!)
处理故障转移
允许您修改数据

xxslljrj

xxslljrj2#

我认为整个任务可以分为两部分:
如何从elasticsearch获取数据(可以通过python实现):https://elasticsearch-py.readthedocs.io/en/master/
如何向mysql添加数据(可以通过python实现):https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-transaction.html
顺便说一句,您可以查看此页面以了解通过python从es中的一个索引获取所有文档的示例脚本:https://discuss.elastic.co/t/get-all-documents-from-an-index/86977

相关问题