python编写 ElasticSearch 数据导入导出功能,,python编写 Ela
python编写 ElasticSearch 数据导入导出功能,,python编写 Ela
python编写 ElasticSearch 数据导入导出功能python2.6
python编写 ElasticSearch 数据导入导出功能代码片段
1.[文件] esutil.py~3KB
''' Export and Import ElasticSearch Data. Simple Example At __main__ @author: wgzh159@163.com @note: uncheck consistency of data, please do it by self'''import jsonimport osimport sysimport timeimport urllib2reload(sys)sys.setdefaultencoding('utf-8') # @UndefinedVariableclass 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()
编橙之家文章,
相关内容
- python来查看Linux系统内存使用情况,pythonlinux,经常系统
- 无序的python字典中取文件倒数第几行,python第几行,无序
- 将3个.py文件合并成一个文件中的3列 笨办法,.py3列
- python 的map和reduce函数把str转为float类型,reducefloat,<
- 闲来无事整一下贪心算法 用python实现的,闲来无事
- python程序记录QQ空间条说说的访问详情,python详情,pyt
- 用python完成计算一个图形中三角形数目,python三角形
- python 狂人TD1.5 krtd1.5积分代码破解教程,td1.5krtd1.5,pyt
- python撞库操作的实战脚本源代码,python实战,python撞库是
- 使用python等差数列求和问题教程,python等差数列,使用
评论关闭