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和libnmapd,提取Nmap扫描结果
Aug 23 Python
python opencv实现运动检测
Jul 10 Python
TensorFlow Session使用的两种方法小结
Jul 30 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
Aug 02 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
在pytorch中查看可训练参数的例子
Aug 18 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 Python
将python2.7添加进64位系统的注册表方式
Nov 20 Python
Python time库基本使用方法分析
Dec 13 Python
Python中的Cookie模块如何使用
Jun 04 Python
浅谈matplotlib 绘制梯度下降求解过程
Jul 12 Python
深度学习详解之初试机器学习
Apr 14 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边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
php下通过POST还是GET来传值
2008/06/05 PHP
php绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
js 数组克隆方法 小结
2010/03/20 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
[43:43]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第三场 11.29
2020/12/02 DOTA
Python 判断是否为质数或素数的实例
2017/10/30 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
python如何实现视频转代码视频
2019/06/17 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
初中生个人学习的自我评价
2013/12/04 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python