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中操作时间之strptime()方法的使用
Dec 30 Python
python追加元素到列表的方法
Jul 28 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
python的scikit-learn将特征转成one-hot特征的方法
Jul 10 Python
Selenium的使用详解
Oct 19 Python
python+tifffile之tiff文件读写方式
Jan 13 Python
Pytorch .pth权重文件的使用解析
Feb 14 Python
深入浅析Python 命令行模块 Click
Mar 11 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
python爬虫之爬取笔趣阁小说
Apr 22 Python
利用Python+OpenCV三步去除水印
May 28 Python
高考要来啦!用Python爬取历年高考数据并分析
Jun 03 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
程序员编程十条戒律
2009/07/09 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
php curl常用的5个经典例子
2017/01/20 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
python配置grpc环境
2019/01/01 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
巴西图书和电子产品购物网站:Saraiva
2017/06/07 全球购物
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
大学生英语演讲稿
2014/04/24 职场文书
技校毕业生自荐信
2014/06/03 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
主持人开场白台词
2015/05/29 职场文书
Java详细解析==和equals的区别
2022/04/07 Java/Android