elasticsearch怎么实现导入导出CSV
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"elasticsearch怎么实现导入导出CSV",在日常操作中,相信很多人在elasticsearch怎么实现导入导出CSV问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2026年10月31日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安全错误
数据库的锁怎样保障安全
精品咖啡豆
深圳科技互联网
喔噻互联网科技
互联网科技公司官网
互联网金融和金融科技
天扬科技互联网广告
甘肃拓世互联网科技有限公司
上海电发互联网科技有限公司
广州优美互联网科技
阿里互联网科技公司
江阴互联网智能科技产品进口
民营互联网公司国防科技
佛山市拉法互联网科技有限公司
互联网科技公司营业执照怎么办理
中科明德北京互联网科技
山东有哪些互联网科技公司
高科技互联网套路
上海创道互联网络科技有限公司
从那以后互联网科技有限公司
广州梦谷互联网科技有限公司领导
伟宏互联网科技
互联网金融 科技
沃里互联网科技
互联网科技公司做什么
山东吉时兔互联网科技有限公司
中国最先进互联网科技公司
华服互联网科技官网
宝灵互联网科技有限公司
半导体是互联网高科技吗
互联网金融金融科技