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的Tornado框架中的日志的方法
May 02 Python
Python Queue模块详细介绍及实例
Dec 27 Python
python条件变量之生产者与消费者操作实例分析
Mar 22 Python
Pycharm学习教程(3) 代码运行调试
May 03 Python
详解Python核心对象类型字符串
Feb 11 Python
Python实现基于KNN算法的笔迹识别功能详解
Jul 09 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
Django中的session用法详解
Mar 09 Python
python和php哪个更适合写爬虫
Jun 22 Python
PyTorch实现重写/改写Dataset并载入Dataloader
Jul 14 Python
基于Python实现体育彩票选号器功能代码实例
Sep 16 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
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
实用函数2
2007/11/08 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
PHP 7.4中使用预加载的方法详解
2019/07/08 PHP
简单实用jquery版三级联动select示例
2013/07/04 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
JavaScript DOM基础
2015/04/13 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
python实现simhash算法实例
2014/04/25 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
Python实现按中文排序的方法示例
2018/04/25 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
大专生的学习自我评价
2013/12/04 职场文书
积极分子思想汇报
2014/01/04 职场文书
先进个人事迹材料
2014/01/25 职场文书
九华山导游词
2015/02/03 职场文书
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript