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 40行代码实现人脸识别功能
Apr 02 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
python使用pygame框架实现推箱子游戏
Nov 20 Python
python实现剪切功能
Jan 23 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
python matplotlib实现双Y轴的实例
Feb 12 Python
Python pandas库中的isnull()详解
Dec 26 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
Feb 26 Python
在脚本中单独使用django的ORM模型详解
Apr 01 Python
python交互模式基础知识点学习
Jun 18 Python
Python 没有main函数的原因
Jul 10 Python
Pandas直接读取sql脚本的方法
Jan 21 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实现在线英文词典查询的方法
2015/01/23 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
Python通过future处理并发问题
2017/10/17 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
python如何使用腾讯云发送短信
2020/09/17 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
请说出几个常用的异常类
2013/01/08 面试题
《郑和远航》教学反思
2014/04/16 职场文书
图书馆标语
2014/06/19 职场文书
毕业生个人总结
2015/02/28 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB