`
- 浏览:
983903 次
- 性别:
- 来自:
上海
-
- '''
- Export and Import ElasticSearch Data.
- Simple Example At __main__
- @author: wgzh159@163.com
- @note: uncheck consistency of data, please do it by self
- '''
-
-
import json
-
import os
-
import sys
-
import time
-
import urllib2
-
-
reload(sys)
-
sys.setdefaultencoding('utf-8')# @UndefinedVariable
-
-
class exportEsData():
-
size =10000
-
def __init__(self, url,index,type):
-
self.url = url+"/"+index+"/"+type+"/_search"
-
self.index = index
-
self.type = type
-
def exportData(self):
-
print("export data begin...")
-
begin= time.time()
-
try:
-
os.remove(self.index+"_"+self.type+".json")
-
except:
-
os.mknod(self.index+"_"+self.type+".json")
-
msg = urllib2.urlopen(self.url).read()
-
print(msg)
-
obj = json.loads(msg)
-
num = obj["hits"]["total"]
-
start =0
-
end= num/self.size+1
-
while(start<end):
-
msg = urllib2.urlopen(self.url+"?from="+str(start*self.size)+"&size="+str(self.size)).read()
-
self.writeFile(msg)
-
start=start+1
-
print("export data end!!!\n\t total consuming time:"+str(time.time()-begin)+"s")
-
def writeFile(self,msg):
-
obj = json.loads(msg)
-
vals = obj["hits"]["hits"]
-
try:
-
f = open(self.index+"_"+self.type+".json","a")
-
for val in vals:
-
a = json.dumps(val["_source"],ensure_ascii=False)
-
f.write(a+"\n")
-
finally:
-
f.flush()
-
f.close()
-
-
class importEsData():
-
def __init__(self,url,index,type):
-
self.url = url+"/"+index+"/"+type
-
self.index = index
-
self.type = type
-
-
def importData(self):
-
print("import data begin...")
-
begin= time.time()
-
try:
-
f = open(self.index+"_"+self.type+".json","r")
-
for line in f:
-
self.post(line)
-
finally:
-
f.close()
-
print("import data end!!!\n\t total consuming time:"+str(time.time()-begin)+"s")
-
def post(self,data):
-
req = urllib2.Request(self.url,data,{"Content-Type":"application/json; charset=UTF-8"})
-
urllib2.urlopen(req)
-
-
if __name__ =='__main__':
- '''
- Export Data
- e.g.
- URL index type
- exportEsData("http://10.100.142.60:9200","watchdog","mexception").exportData()
-
- export file name: watchdog_mexception.json
- '''
- #exportEsData("http://10.100.142.60:9200","watchdog","mexception").exportData()
-
exportEsData("http://10.100.142.60:9200","watchdog","mexception").exportData()
-
-
- '''
- Import Data
-
- *import file name:watchdog_test.json (important)
- "_" front part represents the elasticsearch index
- "_" after part represents the elasticsearch type
- e.g.
- URL index type
- mportEsData("http://10.100.142.60:9200","watchdog","test").importData()
- '''
- #importEsData("http://10.100.142.60:9200","watchdog","test").importData()
-
importEsData("http://10.100.142.60:9200","watchdog","test").importData()
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
6. **效率优化**:工具可能采用了多线程、批量操作等技术,以提高数据导入导出的速度和效率,同时减轻对Elasticsearch和MySQL服务器的压力。 7. **易用性**:为了简化用户的操作流程,工具可能提供命令行界面或图形...
本资源提供的是"Elasticsearch的导入导出工具",它可以帮助用户方便地进行数据迁移和备份。 1. **Elasticsearch-dump工具介绍** `elasticsearch-dump` 是一个非常实用的第三方工具,用于在Elasticsearch实例之间...
为了简化这个过程,社区开发了多种工具,其中"elasticdump"就是一个非常实用的命令行工具,专门用于Elasticsearch的数据批量导入和导出。 **elasticdump** 的主要功能: 1. **数据迁移**:它允许用户将数据从一个...
elastic数据导出工具,使用es_data_export能够直接将es中的数据导入存储到Mysql,这个需要安装JAVA运行环境,通过它你可以指定存储到本地文件夹中,可以选择以json格式或者sql语句的形式。资源文件列表:....
taskrabbit/elasticsearch-dump docker容器 elasticsearch-dump 类型
标题中的“ES数据导出工具-验证方法1”指的是针对Elasticsearch(简称ES)数据导出过程的一种验证手段,通常用于确保数据成功导出并且可以被正确访问和分析。Elasticsearch是一种分布式、RESTful风格的搜索和分析...
在大数据领域,Elasticsearch(简称ES)作为一个流行的分布式搜索引擎,经常需要进行数据的导入导出操作。本篇文档将详细介绍一款针对ES数据导出的工具,以及如何配置和使用它。 首先,我们要了解几个关键的配置...
`elasticdump`是一款非常实用的工具,专用于Elasticsearch的数据导入和导出,支持JSON格式,使得在不同环境或版本间迁移数据变得轻松便捷。 ### 一、elasticdump简介 `elasticdump`是由Tony Tam 开发的一款命令行...
本文将介绍如何使用 Python 开发一个简单实用的数据导入导出工具,该工具主要用于 Elasticsearch 的数据处理。文章中提到的作者正在学习 Python,并尝试实现一个数据导入导出的功能。虽然作者自认为是一个新手,但...
总结来说,这个名为"es迁移工具"的压缩包为Elasticsearch的数据迁移提供了方便,无论是在两个集群间还是向本地备份,都能确保数据的安全、高效转移。正确理解和使用这个工具,可以帮助我们更好地管理和维护Elastic...
Webmagic是一个强大的、轻量级...通过以上步骤,你可以成功地将Webmagic爬取的数据导入到Elasticsearch,进行后续的分析和检索。在实际应用中,可以根据需求进一步优化爬虫性能和数据处理逻辑,以满足特定的业务需求。
不再更新,目前logstash导...线程池用 BlockingQueue 用作队列,如果队列使用完,则获取ES数据线程会阻塞等待新的队列。 TODO LIST 支持导出到文件,支持格式txt,json,sql。 支持导出文件对文件进行切割处理,文件
这就引出了我们的主题——"Mongolastic",一个专门用于在MongoDB和Elasticsearch之间双向导入导出数据的工具。 "Mongolastic"是基于Java开发的,这使得它具有跨平台的特性,可以在多种操作系统上运行。Java作为一门...
### JS模块导入导出的概念与方法 #### 模块化开发背景 在前端开发中,模块化已经成为一种普遍的实践,其目的是将复杂的系统分解成一个个小的模块,便于维护和复用。模块化不仅可以提高代码的可读性,还可以在不同...
- **数据导入导出**:它允许用户将Hadoop的数据源(如HDFS、HBase、Spark等)直接导入到Elasticsearch,反之亦然,方便进行数据分析和检索。 - **MapReduce支持**:它提供了MapReduce作业的输入/输出格式,使Elastic...
这种格式易于读写,被大多数数据分析工具所支持,是将数据导入数据库或进行进一步分析的常见选择。 ### es2csv工具特性 1. **Python CLI**: es2csv是用Python编写的,因此具备跨平台性,可以在多种操作系统上运行...
Elasticsearch-dump 是一个强大的工具,专门设计用于在 Elasticsearch 集群之间进行数据导入和导出。这个工具能够方便地实现数据的备份和迁移,确保在不同环境或者版本间的数据一致性。"elasticsearch-dump-6.78.0....
数据导入导出** Elasticsearch 提供了多种方式来导入和导出数据,如使用 Bulk API 进行批量操作,或者通过 Logstash 进行日志收集和预处理。 **8. 集群管理** Elasticsearch 集群可以动态地添加或移除节点,数据会...
Elasticsearch-dump 是一款强大的数据导入和导出工具,专为 Elasticsearch 设计,它使得在不同集群之间或者从其他数据源向 Elasticsearch 进行数据迁移变得轻而易举。这款工具是开源的,允许用户方便地备份和恢复 ...