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 30 Python
在Python中使用Mako模版库的简单教程
Apr 08 Python
Python下rrdtool模块的基本使用方法
Nov 13 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
详解Python中heapq模块的用法
Jun 28 Python
Python简单计算给定某一年的某一天是星期几示例
Jun 27 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
Mar 30 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
学习Python列表的基础知识汇总
Mar 10 Python
用Python在Excel里画出蒙娜丽莎的方法示例
Apr 28 Python
python字符串拼接+和join的区别详解
Dec 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
php读取xml实例代码
2010/01/28 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
php 中英文语言转换类代码
2011/08/11 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
phpstudy2020搭建站点的实现示例
2020/10/30 PHP
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
CCPry JS类库 代码
2009/10/30 Javascript
Javascript学习笔记9 prototype封装继承
2010/01/11 Javascript
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
深入理解React中es6创建组件this的方法
2016/08/29 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
Python中使用wxPython开发的一个简易笔记本程序实例
2015/02/08 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
物业总经理岗位职责
2014/02/28 职场文书
英文演讲稿开场白
2014/08/25 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
经验交流材料格式
2014/12/30 职场文书
停发工资证明范本
2015/06/12 职场文书
2015年六年级班主任工作总结
2015/10/15 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
详细总结Python常见的安全问题
2021/05/21 Python