Python將json文件寫入ES數(shù)據(jù)庫的方法
1、安裝Elasticsearch數(shù)據(jù)庫
PS:在此之前需首先安裝Java SE環(huán)境
下載elasticsearch-6.5.2版本,進(jìn)入/elasticsearch-6.5.2/bin目錄,雙擊執(zhí)行elasticsearch.bat 打開瀏覽器輸入http://localhost:9200 顯示以下內(nèi)容則說明安裝成功

安裝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如下:

進(jìn)入elasticsearch-head-master目錄下執(zhí)行npm install -g grunt-cli,再執(zhí)行npm install安裝依賴
在elasticsearch-head-master目錄下找到Gruntfile.js文件修改服務(wù)器監(jiān)聽地址如下:

執(zhí)行g(shù)runt server命令啟動(dòng)head服務(wù)

訪問地址 http://localhost:9100/ 即可訪問head管理頁面

2、將json文件寫入ES數(shù)據(jù)庫(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服務(wù)器
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
總結(jié)
以上所述是小編給大家介紹的Python將json文件寫入ES數(shù)據(jù)庫的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
使用OpenCV對運(yùn)動(dòng)員的姿勢進(jìn)行檢測功能實(shí)現(xiàn)
2022年奧林匹克運(yùn)動(dòng)會如期舉行,以不正確的方式進(jìn)行運(yùn)動(dòng)風(fēng)險(xiǎn)在增加,人體姿勢估計(jì)是計(jì)算機(jī)視覺領(lǐng)域的重要問題,接下來通過本文給大家介紹下使用OpenCV對運(yùn)動(dòng)員的姿勢進(jìn)行檢測功能,感興趣的朋友一起看看吧2022-02-02
詳解Python中import模塊導(dǎo)入的實(shí)現(xiàn)原理
這篇文章主要給大家介紹了Python中import模塊導(dǎo)入的實(shí)現(xiàn)原理,主要從什么是模塊,import搜索路徑以及導(dǎo)入原理這三個(gè)方面給大家介紹,感興趣的小伙伴跟著小編一起來看看吧2023-08-08
Python HTTP下載文件并顯示下載進(jìn)度條功能的實(shí)現(xiàn)
這篇文章主要介紹了Python HTTP下載文件并顯示下載進(jìn)度條功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
python中dir()與__dict__屬性的區(qū)別淺析
這篇文章主要給大家介紹了關(guān)于python中dir()與__dict__屬性的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Python Collatz序列實(shí)現(xiàn)過程解析
這篇文章主要介紹了Python Collatz序列實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10

