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读写ini文件示例(python读写文件)
Mar 25 Python
Python3实现从文件中读取指定行的方法
May 22 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
python 移除字符串尾部的数字方法
Jul 17 Python
Python生成MD5值的两种方法实例分析
Apr 26 Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
pytorch实现查看当前学习率
Jun 24 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
Nov 11 Python
Python中的程序流程控制语句
Feb 24 Python
利用Python实时获取steam特惠游戏数据
Jun 25 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
一个捕获函数输出的函数
2007/02/14 PHP
PHP 转义使用详解
2013/07/15 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
WAF的正确bypass
2017/01/05 PHP
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
Javascript中匿名函数的调用与写法实例详解(多种)
2016/01/26 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
python清除字符串里非数字字符的方法
2015/07/02 Python
Python卸载模块的方法汇总
2016/06/07 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
2020/03/30 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
优秀求职信范文分享
2013/12/19 职场文书
最新创业融资计划书
2014/01/19 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
化学专业自荐信
2014/05/28 职场文书
天猫活动策划方案
2014/08/21 职场文书
影视后期实训报告
2014/11/05 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS