`

ElasticSearch 数据导入导出工具

阅读更多
  1. '''
  2. Export and Import ElasticSearch Data.
  3. Simple Example At __main__
  4. @author: wgzh159@163.com
  5. @note: uncheck consistency of data, please do it by self
  6. '''
  7.  
  8. import json
  9. import os
  10. import sys
  11. import time
  12. import urllib2
  13.  
  14. reload(sys)
  15. sys.setdefaultencoding('utf-8')# @UndefinedVariable
  16.  
  17. class exportEsData():
  18. size =10000
  19. def __init__(self, url,index,type):
  20. self.url = url+"/"+index+"/"+type+"/_search"
  21. self.index = index
  22. self.type = type
  23. def exportData(self):
  24. print("export data begin...")
  25. begin= time.time()
  26. try:
  27. os.remove(self.index+"_"+self.type+".json")
  28. except:
  29. os.mknod(self.index+"_"+self.type+".json")
  30. msg = urllib2.urlopen(self.url).read()
  31. print(msg)
  32. obj = json.loads(msg)
  33. num = obj["hits"]["total"]
  34. start =0
  35. end= num/self.size+1
  36. while(start<end):
  37. msg = urllib2.urlopen(self.url+"?from="+str(start*self.size)+"&size="+str(self.size)).read()
  38. self.writeFile(msg)
  39. start=start+1
  40. print("export data end!!!\n\t total consuming time:"+str(time.time()-begin)+"s")
  41. def writeFile(self,msg):
  42. obj = json.loads(msg)
  43. vals = obj["hits"]["hits"]
  44. try:
  45. f = open(self.index+"_"+self.type+".json","a")
  46. for val in vals:
  47. a = json.dumps(val["_source"],ensure_ascii=False)
  48. f.write(a+"\n")
  49. finally:
  50. f.flush()
  51. f.close()
  52.  
  53. class importEsData():
  54. def __init__(self,url,index,type):
  55. self.url = url+"/"+index+"/"+type
  56. self.index = index
  57. self.type = type
  58. def importData(self):
  59. print("import data begin...")
  60. begin= time.time()
  61. try:
  62. f = open(self.index+"_"+self.type+".json","r")
  63. for line in f:
  64. self.post(line)
  65. finally:
  66. f.close()
  67. print("import data end!!!\n\t total consuming time:"+str(time.time()-begin)+"s")
  68. def post(self,data):
  69. req = urllib2.Request(self.url,data,{"Content-Type":"application/json; charset=UTF-8"})
  70. urllib2.urlopen(req)
  71.  
  72. if __name__ =='__main__':
  73. '''
  74. Export Data
  75. e.g.
  76. URL index type
  77. exportEsData("http://10.100.142.60:9200","watchdog","mexception").exportData()
  78. export file name: watchdog_mexception.json
  79. '''
  80. #exportEsData("http://10.100.142.60:9200","watchdog","mexception").exportData()
  81. exportEsData("http://10.100.142.60:9200","watchdog","mexception").exportData()
  82. '''
  83. Import Data
  84. *import file name:watchdog_test.json (important)
  85. "_" front part represents the elasticsearch index
  86. "_" after part represents the elasticsearch type
  87. e.g.
  88. URL index type
  89. mportEsData("http://10.100.142.60:9200","watchdog","test").importData()
  90. '''
  91. #importEsData("http://10.100.142.60:9200","watchdog","test").importData()
  92. importEsData("http://10.100.142.60:9200","watchdog","test").importData()
分享到:
评论

相关推荐

    Elasticsearch数据导出工具

    6. **效率优化**:工具可能采用了多线程、批量操作等技术,以提高数据导入导出的速度和效率,同时减轻对Elasticsearch和MySQL服务器的压力。 7. **易用性**:为了简化用户的操作流程,工具可能提供命令行界面或图形...

    elasticsearch的导入导出工具___下载.zip

    本资源提供的是"Elasticsearch的导入导出工具",它可以帮助用户方便地进行数据迁移和备份。 1. **Elasticsearch-dump工具介绍** `elasticsearch-dump` 是一个非常实用的第三方工具,用于在Elasticsearch实例之间...

    elasticsearch 批量导入导出工具,elasticdump

    为了简化这个过程,社区开发了多种工具,其中"elasticdump"就是一个非常实用的命令行工具,专门用于Elasticsearch的数据批量导入和导出。 **elasticdump** 的主要功能: 1. **数据迁移**:它允许用户将数据从一个...

    Elasticsearch数据导出工具es_data_export.zip

     elastic数据导出工具,使用es_data_export能够直接将es中的数据导入存储到Mysql,这个需要安装JAVA运行环境,通过它你可以指定存储到本地文件夹中,可以选择以json格式或者sql语句的形式。资源文件列表:....

    es dump数据导入导出工具

    taskrabbit/elasticsearch-dump docker容器 elasticsearch-dump 类型

    ES数据导出工具-验证方法1

    标题中的“ES数据导出工具-验证方法1”指的是针对Elasticsearch(简称ES)数据导出过程的一种验证手段,通常用于确保数据成功导出并且可以被正确访问和分析。Elasticsearch是一种分布式、RESTful风格的搜索和分析...

    ES数据导出工具-使用文档1

    在大数据领域,Elasticsearch(简称ES)作为一个流行的分布式搜索引擎,经常需要进行数据的导入导出操作。本篇文档将详细介绍一款针对ES数据导出的工具,以及如何配置和使用它。 首先,我们要了解几个关键的配置...

    elasticsearch数据备份工具之elasticdump

    `elasticdump`是一款非常实用的工具,专用于Elasticsearch的数据导入和导出,支持JSON格式,使得在不同环境或版本间迁移数据变得轻松便捷。 ### 一、elasticdump简介 `elasticdump`是由Tony Tam 开发的一款命令行...

    Python制作数据导入导出工具

    本文将介绍如何使用 Python 开发一个简单实用的数据导入导出工具,该工具主要用于 Elasticsearch 的数据处理。文章中提到的作者正在学习 Python,并尝试实现一个数据导入导出的功能。虽然作者自认为是一个新手,但...

    es迁移工具,实现es数据的两个集群之间或者导出到本地进行迁移.zip

    总结来说,这个名为"es迁移工具"的压缩包为Elasticsearch的数据迁移提供了方便,无论是在两个集群间还是向本地备份,都能确保数据的安全、高效转移。正确理解和使用这个工具,可以帮助我们更好地管理和维护Elastic...

    Webmagic爬取数据导入到ES

    Webmagic是一个强大的、轻量级...通过以上步骤,你可以成功地将Webmagic爬取的数据导入到Elasticsearch,进行后续的分析和检索。在实际应用中,可以根据需求进一步优化爬虫性能和数据处理逻辑,以满足特定的业务需求。

    es_data_export:ES数据导出工具,ES data export tool,elasticsearch data export tool,elasticsearch数据导出到文件,elasticsearch数据导出到数据库,目前已支持全部的6.x的版本,后续跟进更低的版本

    不再更新,目前logstash导...线程池用 BlockingQueue 用作队列,如果队列使用完,则获取ES数据线程会阻塞等待新的队列。 TODO LIST 支持导出到文件,支持格式txt,json,sql。 支持导出文件对文件进行切割处理,文件

    Mongolastic-MongoDB与Elasticsearch相互导数据的工具

    这就引出了我们的主题——"Mongolastic",一个专门用于在MongoDB和Elasticsearch之间双向导入导出数据的工具。 "Mongolastic"是基于Java开发的,这使得它具有跨平台的特性,可以在多种操作系统上运行。Java作为一门...

    详解JS模块导入导出

    ### JS模块导入导出的概念与方法 #### 模块化开发背景 在前端开发中,模块化已经成为一种普遍的实践,其目的是将复杂的系统分解成一个个小的模块,便于维护和复用。模块化不仅可以提高代码的可读性,还可以在不同...

    elasticsearch-hadoop-8.8.0

    - **数据导入导出**:它允许用户将Hadoop的数据源(如HDFS、HBase、Spark等)直接导入到Elasticsearch,反之亦然,方便进行数据分析和检索。 - **MapReduce支持**:它提供了MapReduce作业的输入/输出格式,使Elastic...

    es2csv:从Elasticsearch导出到CSV文件

    这种格式易于读写,被大多数数据分析工具所支持,是将数据导入数据库或进行进一步分析的常见选择。 ### es2csv工具特性 1. **Python CLI**: es2csv是用Python编写的,因此具备跨平台性,可以在多种操作系统上运行...

    elasticsearch-dump-6.78.0.tar.gz

    Elasticsearch-dump 是一个强大的工具,专门设计用于在 Elasticsearch 集群之间进行数据导入和导出。这个工具能够方便地实现数据的备份和迁移,确保在不同环境或者版本间的数据一致性。"elasticsearch-dump-6.78.0....

    elasticsearch工具

    数据导入导出** Elasticsearch 提供了多种方式来导入和导出数据,如使用 Bulk API 进行批量操作,或者通过 Logstash 进行日志收集和预处理。 **8. 集群管理** Elasticsearch 集群可以动态地添加或移除节点,数据会...

    elasticsearch-dump-6.76.0.tar.gz

    Elasticsearch-dump 是一款强大的数据导入和导出工具,专为 Elasticsearch 设计,它使得在不同集群之间或者从其他数据源向 Elasticsearch 进行数据迁移变得轻而易举。这款工具是开源的,允许用户方便地备份和恢复 ...

Global site tag (gtag.js) - Google Analytics