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

安裝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安裝依賴(lài)
在elasticsearch-head-master目錄下找到Gruntfile.js文件修改服務(wù)器監(jiān)聽(tīng)地址如下:

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

訪問(wèn)地址 http://localhost:9100/ 即可訪問(wèn)head管理頁(yè)面

2、將json文件寫(xiě)入ES數(shù)據(jù)庫(kù)(py腳本如下)
# -*- coding: UTF-8 -*-
from itertools import islice
import json , sys
from elasticsearch import Elasticsearch , helpers
import threading
_index = 'indextest' #修改為索引名
_type = 'string' #修改為類(lèi)型名
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文件寫(xiě)入ES數(shù)據(jù)庫(kù)的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- Python中高效的json對(duì)比庫(kù)deepdiff詳解
- python庫(kù)JsonSchema驗(yàn)證JSON數(shù)據(jù)結(jié)構(gòu)使用詳解
- 利用Python實(shí)現(xiàn)Json序列化庫(kù)的方法步驟
- 使用Python爬蟲(chóng)庫(kù)requests發(fā)送表單數(shù)據(jù)和JSON數(shù)據(jù)
- 使用python將mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)轉(zhuǎn)換為json數(shù)據(jù)的方法
- Python常用的json標(biāo)準(zhǔn)庫(kù)
- Python中的json庫(kù)常用方法示例詳解
相關(guān)文章
使用OpenCV對(duì)運(yùn)動(dòng)員的姿勢(shì)進(jìn)行檢測(cè)功能實(shí)現(xiàn)
2022年奧林匹克運(yùn)動(dòng)會(huì)如期舉行,以不正確的方式進(jìn)行運(yùn)動(dòng)風(fēng)險(xiǎn)在增加,人體姿勢(shì)估計(jì)是計(jì)算機(jī)視覺(jué)領(lǐng)域的重要問(wèn)題,接下來(lái)通過(guò)本文給大家介紹下使用OpenCV對(duì)運(yùn)動(dòng)員的姿勢(shì)進(jìn)行檢測(cè)功能,感興趣的朋友一起看看吧2022-02-02
詳解Python中import模塊導(dǎo)入的實(shí)現(xiàn)原理
這篇文章主要給大家介紹了Python中import模塊導(dǎo)入的實(shí)現(xiàn)原理,主要從什么是模塊,import搜索路徑以及導(dǎo)入原理這三個(gè)方面給大家介紹,感興趣的小伙伴跟著小編一起來(lái)看看吧2023-08-08
Python HTTP下載文件并顯示下載進(jìn)度條功能的實(shí)現(xiàn)
這篇文章主要介紹了Python HTTP下載文件并顯示下載進(jìn)度條功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
python中dir()與__dict__屬性的區(qū)別淺析
這篇文章主要給大家介紹了關(guān)于python中dir()與__dict__屬性的區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Python Collatz序列實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Python Collatz序列實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10

