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分割文件的常用方法
Nov 01 Python
解读Django框架中的低层次缓存API
Jul 24 Python
Python编程产生非均匀随机数的几种方法代码分享
Dec 13 Python
python书籍信息爬虫实例
Mar 19 Python
Python装饰器原理与简单用法实例分析
Apr 29 Python
Python 实现在文件中的每一行添加一个逗号
Apr 29 Python
python 实现返回一个列表中出现次数最多的元素方法
Jun 11 Python
浅谈python之自动化运维(Paramiko)
Jan 31 Python
TensorFlow 多元函数的极值实例
Feb 10 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
pytorch SENet实现案例
Jun 24 Python
Python实现PIL图像处理库绘制国际象棋棋盘
Jul 16 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排序算法类实例
2015/06/17 PHP
判断及设置浏览器全屏模式
2014/04/20 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
用Python实现随机森林算法的示例
2017/08/24 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
python中下标和切片的使用方法解析
2019/08/27 Python
python实现广度优先搜索过程解析
2019/10/19 Python
如何基于python实现脚本加密
2019/12/28 Python
python 基于opencv实现图像增强
2020/12/23 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
Ruby如何进行文件操作
2014/07/17 面试题
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
运动会广播稿200字
2014/10/18 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
2014年教研室工作总结
2014/12/06 职场文书
作文评语怎么写
2014/12/25 职场文书
合作意向书怎么写
2019/06/24 职场文书
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
Golang流模式之grpc的四种数据流
2022/04/13 Golang