Python将json文件写入ES数据库的方法


Posted in Python onApril 10, 2019

1、安装Elasticsearch数据库

PS:在此之前需首先安装Java SE环境

下载elasticsearch-6.5.2版本,进入/elasticsearch-6.5.2/bin目录,双击执行elasticsearch.bat 打开浏览器输入http://localhost:9200 显示以下内容则说明安装成功

Python将json文件写入ES数据库的方法

安装head插件,便于查看管理(还可以用kibana)

首先安装Nodejs(下载地址https://nodejs.org/en/)

再下载elasticsearch-head-master包解压到/elasticsearch-6.5.2/下(链接: https://pan.baidu.com/s/1q3kokFhpuJ2Q3otPgu7ldg

提取码: 1rpp

修改配置文件elasticsearch-6.5.2\config\elasticsearch.yml如下:

Python将json文件写入ES数据库的方法

进入elasticsearch-head-master目录下执行npm install -g grunt-cli,再执行npm install安装依赖

elasticsearch-head-master目录下找到Gruntfile.js文件修改服务器监听地址如下:

Python将json文件写入ES数据库的方法

执行grunt server命令启动head服务

Python将json文件写入ES数据库的方法

访问地址 http://localhost:9100/ 即可访问head管理页面

Python将json文件写入ES数据库的方法

2、将json文件写入ES数据库(py脚本如下)

# -*- coding: UTF-8 -*-
from itertools import islice
import json , sys
from elasticsearch import Elasticsearch , helpers
import threading
_index = 'indextest' #修改为索引名
_type = 'string'  #修改为类型名
es_url = 'http://192.168.116.1:9200/' #修改为elasticsearch服务器
reload(sys)
sys.setdefaultencoding('utf-8')
es = Elasticsearch(es_url)
es.indices.create(index=_index, ignore=400)
chunk_len = 10
num = 0
def bulk_es(chunk_data):
 bulks=[]
 try:
  for i in xrange(chunk_len):
   bulks.append({
     "_index": _index,
     "_type": _type,
     "_source": chunk_data[i]
    })
  helpers.bulk(es, bulks)
 except:
  pass
with open(sys.argv[1]) as f:
 while True:
  lines = list(islice(f, chunk_len))
  num =num +chunk_len
  sys.stdout.write('\r' + 'num:'+'%d' % num)
  sys.stdout.flush()
  bulk_es(lines)
  if not lines:
   print "\n"
   print "task has finished"
   break

总结

以上所述是小编给大家介绍的Python将json文件写入ES数据库的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python连接mongodb操作数据示例(mongodb数据库配置类)
Dec 31 Python
跟老齐学Python之通过Python连接数据库
Oct 28 Python
在Docker上部署Python的Flask框架的教程
Apr 08 Python
linux下python抓屏实现方法
May 22 Python
对Python random模块打乱数组顺序的实例讲解
Nov 08 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
基于Python打造账号共享浏览器功能
May 30 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
python redis 批量设置过期key过程解析
Nov 26 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
Pandas时间序列基础详解(转换,索引,切片)
Feb 26 Python
python实现学生管理系统开发
Jul 24 Python
pycharm创建一个python包方法图解
Apr 10 #Python
Python socket模块实现的udp通信功能示例
Apr 10 #Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 #Python
一个可以套路别人的python小程序实例代码
Apr 09 #Python
Python装饰器限制函数运行时间超时则退出执行
Apr 09 #Python
详解Python 解压缩文件
Apr 09 #Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 #Python
You might like
PHP实现下载功能的代码
2012/09/29 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
PHP中Memcache操作类及用法实例
2014/12/12 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
jQuery extend()详解及简单实例
2017/05/06 jQuery
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
Python基本数据类型详细介绍
2014/03/11 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
python实现kNN算法
2017/12/20 Python
将python代码和注释分离的方法
2018/04/21 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
python中自带的三个装饰器的实现
2019/11/08 Python
python中可以声明变量类型吗
2020/06/18 Python
走群众路线剖析材料
2014/10/09 职场文书
贷款工作证明模板
2015/06/12 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers