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中DJANGO简单测试实例
May 11 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
Jan 26 Python
儿童学习python的一些小技巧
May 27 Python
python使用插值法画出平滑曲线
Dec 15 Python
Python闭包思想与用法浅析
Dec 27 Python
Flask-WTF表单的使用方法
Jul 12 Python
python代码实现逻辑回归logistic原理
Aug 07 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
python 实现视频 图像帧提取
Dec 10 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
Python Charles抓包配置实现流程图解
Sep 29 Python
python通过cython加密代码
Dec 11 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 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
JQuery记住用户名和密码的具体实现
2014/04/04 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
react的hooks的用法详解
2020/10/12 Javascript
[03:48]2014DOTA2 TI专访71DK夺冠不靠小组赛高排名
2014/07/11 DOTA
Python中动态创建类实例的方法
2017/03/24 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
多个应用共存的Django配置方法
2018/05/30 Python
Python格式化日期时间操作示例
2018/06/28 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
浅谈python标准库--functools.partial
2019/03/13 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
Java面试题及答案
2012/09/08 面试题
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
应聘医学检验人员自荐信
2013/09/27 职场文书
艺术爱好者的自我评价分享
2013/10/08 职场文书
餐饮主管岗位职责
2013/12/10 职场文书
临床护理求职信
2014/04/26 职场文书
旷课检讨书范文
2015/01/27 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
2015年学校教研室主任工作总结
2015/07/20 职场文书
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA