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笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
python基础教程之序列详解
Aug 29 Python
Python编程判断一个正整数是否为素数的方法
Apr 14 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
python tkinter图形界面代码统计工具
Sep 18 Python
python自动生成model文件过程详解
Nov 02 Python
详解mac python+selenium+Chrome 简单案例
Nov 08 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
Python字符串的转义字符
Apr 07 Python
在 Python 中利用 Pool 进行多线程
Apr 24 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 iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
使用Sphinx对索引进行搜索
2013/06/25 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
利用php-cli和任务计划实现刷新token功能的方法
2017/05/03 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
javascript知识点收藏
2007/02/22 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
Python字典dict常用方法函数实例
2020/11/09 Python
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
组织关系转移介绍信
2014/01/16 职场文书
2014年清明节寄语
2014/04/03 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
2014年基层党建工作总结
2014/11/11 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技