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显示天气预报
Mar 02 Python
Python中使用dom模块生成XML文件示例
Apr 05 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
Jan 20 Python
tensorflow实现softma识别MNIST
Mar 12 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
浅谈pycharm使用及设置方法
Sep 09 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
Dec 12 Python
python ftplib模块使用代码实例
Dec 31 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
基于Python绘制个人足迹地图
Jun 01 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
Windows 平台做 Python 开发的最佳组合(推荐)
Jul 27 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 Socket配置以及实例的详细介绍
2013/06/13 PHP
php实现excel中rank函数功能的方法
2015/01/20 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
Python中获取对象信息的方法
2015/04/27 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
Python3.遍历某文件夹提取特定文件名的实例
2018/04/26 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
Python适配器模式代码实现解析
2019/08/02 Python
Django之路由层的实现
2019/09/09 Python
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
金鑫耀Java笔试题
2014/09/06 面试题
优秀党员转正的自我评价
2013/10/06 职场文书
安全生产责任书
2014/03/12 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书