elasticsearch怎么实现导入导出CSV
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍"elasticsearch怎么实现导入导出CSV",在日常操作中,相信很多人在elasticsearch怎么实现导入导出CSV问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2025年11月07日elasticsearch怎么实现导入导出CSV
这篇文章主要介绍"elasticsearch怎么实现导入导出CSV",在日常操作中,相信很多人在elasticsearch怎么实现导入导出CSV问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"elasticsearch怎么实现导入导出CSV"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
坦白说,这是第一个python程序,虽然看起来写的很烂,但是你放心,我试过了无毒,而且运行结果,既然是正确的!
导出CSV
import csvimport sysimport loggingimport datetime from elasticsearch import Elasticsearchreload(sys) sys.setdefaultencoding('gbk')logging.basicConfig()es = Elasticsearch()def exportCSV(indexName): count = 0 finish=False csvfile = file(indexName+'.csv','wb') writer = csv.writer(csvfile) starttime = datetime.datetime.now() searchRes = es.search(index=indexName,size=100,body={"query": {"match_all": {}}},search_type="scan",scroll="60s") while True: scrollRes=es.scroll(scroll_id=searchRes["_scroll_id"],scroll="60s",ignore=[400, 404]) res_list = scrollRes["hits"]["hits"] data=[] if not len(res_list) or finish: break if count==0: writer.writerow(tuple(res_list[0]["_source"].keys())) for item in res_list: #print tuple(item["_source"].values()) data.append(tuple(item["_source"].values())) count+=1 if count>=100000: finish=True break writer.writerows(data) csvfile.close() endtime = datetime.datetime.now() print "export size = "+str(count) print "export cost = "+str(endtime - starttime) if __name__=="__main__": exportCSV("test")导入CSV
# -*- coding:utf-8 -*- import csvimport sysimport osimport loggingimport datetime from elasticsearch import Elasticsearchfrom elasticsearch import helpersreload(sys) sys.setdefaultencoding('gbk')logging.basicConfig()es = Elasticsearch()def importCSV(indexName,typeName,fileName): if not os.path.exists(fileName): print "file not found" return actions=[] if not es.indices.exists(index=indexName,allow_no_indices=True): #print "not found index" es.indices.create(index=indexName,body={},ignore=400) for item in csv.DictReader(open(fileName, 'rb')): actions.append({"_index":indexName,"_type":typeName,"_source":encoding(item)}) res = helpers.bulk(es,actions,chunk_size=100) es.indices.flush(index=[indexName]) return len(actions)def encoding(item): for i in item: item[i]=str(item[i]).encode('utf-8') return item if __name__=="__main__": starttime = datetime.datetime.now() result=importCSV("test","base","test.csv") print "import size = "+str(result) endtime = datetime.datetime.now() print "import cost = "+str(endtime - starttime)到此,关于"elasticsearch怎么实现导入导出CSV"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
学习
更多
帮助
实用
接下来
文章
方法
理论
知识
程序
篇文章
结果
网站
资料
跟着
这是
问题
utf-8
好用
实践
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库常用的 语句大全
高青机械管理软件开发
监控视频服务器安装调试
名爵6互联网黑科技
金洞网络安全宣传周
数据库关于键的说法正确的是
mc1.8.9服务器
数据库有统一的控制和管理吗
数据库中删除一个表
济南宇泉网络技术有限公司
重庆璧山生鲜配送软件开发
网络安全基础许春凤
巴中软件开发方案
数据库原理设计一般用什么软件
中学校园网络安全检查表
工行软件开发中心 编制
网络安全绘画该怎么画呢
天鸿网络技术有限公司
360怎么做服务器安全问题
网络安全企业员工要注意哪些
网络技术从业证书
鸿蒙与谷歌服务器发生通讯问题
无锡软件开发定制服务
网络安全厂商产值
百度云网络安全工程师待遇
耕地资源土壤数据库
sql 取 随机数据库
维护网络安全保护社会演讲稿
重庆好屋网络技术有限公司
株洲市委网络安全委员