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中的列表知识点汇总
Apr 14 Python
简单谈谈python中的多进程
Nov 06 Python
Python使用迭代器捕获Generator返回值的方法
Apr 05 Python
python用户管理系统
Mar 13 Python
python+opencv识别图片中的圆形
Mar 25 Python
Python读取系统文件夹内所有文件并统计数量的方法
Oct 23 Python
Python3简单爬虫抓取网页图片代码实例
Aug 26 Python
pyhton中__pycache__文件夹的产生与作用详解
Nov 24 Python
基于Python实现扑克牌面试题
Dec 11 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
详解Pycharm出现out of memory的终极解决方法
Mar 03 Python
Python实战之大鱼吃小鱼游戏的实现
Apr 01 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单件模式结合命令链模式使用说明
2008/09/07 PHP
php cli 方式 在crotab中运行解决
2010/02/08 PHP
PHP 一个页面执行时间类代码
2010/03/05 PHP
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
PHP小技巧之函数重载
2014/06/02 PHP
PHP实现图片压缩的两则实例
2014/07/19 PHP
PHP比你想象的好得多
2014/11/27 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
jquery tools之tooltip
2009/07/25 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
理清apply(),call()的区别和关系
2011/08/14 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
python 切片和range()用法说明
2013/03/24 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
使用Python & Flask 实现RESTful Web API的实例
2017/09/19 Python
Python 函数基础知识汇总
2018/03/09 Python
pyhton列表转换为数组的实例
2018/04/04 Python
python迭代dict的key和value的方法
2018/07/06 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
竞选班长的演讲稿
2014/04/24 职场文书
阅兵口号
2014/06/19 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
党小组考察意见
2015/06/02 职场文书