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 11 Python
python下载文件时显示下载进度的方法
Apr 02 Python
python字符类型的一些方法小结
May 16 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
pycharm中连接mysql数据库的步骤详解
May 02 Python
Python正则表达式常用函数总结
Jun 24 Python
Python简单定义与使用字典dict的方法示例
Jul 25 Python
python交易记录链的实现过程详解
Jul 03 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
python用pip install时安装失败的一系列问题及解决方法
Feb 24 Python
Python中qutip用法示例详解
Oct 02 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
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
js保留小数点后几位的写法
2014/01/03 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
2016/01/14 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
简单实现jquery焦点图
2016/12/12 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
施工员岗位职责
2014/03/16 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
教师党员个人总结
2015/02/10 职场文书
会计出纳岗位职责
2015/03/31 职场文书
致短跑运动员加油稿
2015/07/21 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书
MySQL 数据类型选择原则
2021/05/27 MySQL
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS