Elasticsearch的脚本化数据导入导出
2017-10-13 22:32
1711 查看
我用的ES的版本是2.4.1,由于没有相应的命令实现数据的导入和导出,就是像mysql的那种mysqldump类似的指令。
更苦逼的是,我们的生产和测试环境,还不能联网,连ES的第三方的插件都没有办法安装。。。
处于这种苦逼的境地,我只能通过脚本的方式实现数据的导入和导出了。
导出脚本,可以用我前面说的elasticdump,也可以用脚本实现。通常在自己的开发环境下可以搞定elasticdump的安装,但是测试环境或者生产环境,往往不会有这个条件,尤其在我当前所在的断网式网络安全策略下。
导入脚本,用python实现:
效果能满足要求,有点笨,搞技术的人,各种招都能想到。。。
更苦逼的是,我们的生产和测试环境,还不能联网,连ES的第三方的插件都没有办法安装。。。
处于这种苦逼的境地,我只能通过脚本的方式实现数据的导入和导出了。
导出脚本,可以用我前面说的elasticdump,也可以用脚本实现。通常在自己的开发环境下可以搞定elasticdump的安装,但是测试环境或者生产环境,往往不会有这个条件,尤其在我当前所在的断网式网络安全策略下。
导入脚本,用python实现:
#! /usr/bin/env python # -*- coding: utf-8 -*- import json import urllib import httplib fp = open('weibao_es.json') cnt=0 try: #line = fp.readline() lines = fp.readlines() # 调用文件的 readlines()方法 conn = httplib.HTTPConnection("10.130.12.86",9200) print type(lines) for i in range(len(lines)): rawd = json.loads(lines[i]) src = rawd["_source"] uid = rawd["_id"] params = json.dumps(src) conn.request("POST","/robotkdb/weibao/"+uid, params) resp = conn.getresponse() print "i: %d, %s" % (i,resp.read().strip()) finally: fp.close()
效果能满足要求,有点笨,搞技术的人,各种招都能想到。。。
相关文章推荐
- Elasticsearch入门2 导入导出数据
- elasticsearch-dump数据导入导出
- ElasticSearch速学 - IK中文分词器 、elasticdump数据导出导入、字段分词
- hadoop2.6数据导入elasticsearch2.2(解析hbase导出数据)
- elasticsearch数据导入导出
- Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)
- Elasticsearch的数据导入导出
- elasticsearch修改mapping + 导出/导入数据
- PLSQL Developer oracle导入导出表及数据
- SQL Server导出导入数据方法
- Oracle数据库数据的导入导出以及备份
- PostgreSQL数据导出导入COPY
- DB2数据的导入与导出
- DB2数据库中数据的导入导出
- 如何导出、导入mysql数据
- 使用GridView将数据导入或导出Excel中
- 异步导入导出Redis数据(利用Hiredis、Libevent)
- 数据库导入导出数据泵
- mysql数据的导入和导出
- Navicat导入导出数据表