elasticsearch怎么实现导入导出CSV
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍"elasticsearch怎么实现导入导出CSV",在日常操作中,相信很多人在elasticsearch怎么实现导入导出CSV问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
php怎么向数据库输入内容
新蛋软件开发
贵阳戴尔服务器专卖
服务器网络时间协议
用触发器使两个数据库表同步
网络技术学习软件免费
小学观看网络安全报道
如何查看代理服务器的地址和端口
前端服务器数据怎么保存
学习3d动画软件开发应用
怎样破解pdms数据库的密码
邮箱网络安全知识
千锋网络安全教程笔记
2020江源区网络安全宣传周
高质量的软件开发技能培训
服务器维护管理制度
数据库身份证与个人的关系
海南炼化网络安全检查
计算机3级数据库能做什么
网络安全观念的更新
数据库上机06
服务器主板型号
cas 服务器端
linux服务器杀毒软件
网络安全宣传周宣传小知识
锐捷云教学管理服务器
亿动创想网络技术有限公司
t6软件如何在数据库备份
使用pg数据库数据协议
海南炼化网络安全检查