最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python批量寫入ES索引數(shù)據(jù)的示例代碼

 更新時間:2024年02月28日 08:10:40   作者:1024點(diǎn)線面  
這篇文章主要為大家詳細(xì)介紹了如何使用python腳本批量寫ES數(shù)據(jù)(需要使用pip提前下載安裝es依賴庫),感興趣的小伙伴可以學(xué)習(xí)一下

背景

由于使用官方性能壓測工具esrally并不能隨心所欲地控制創(chuàng)建索引的內(nèi)容、索引的結(jié)構(gòu)和數(shù)據(jù)量,無法創(chuàng)建指定的測試數(shù)據(jù)集,或者直接投入生產(chǎn)使用。使用java或者spark則需編譯使用,修改麻煩,人生苦短,我用python。本文介紹使用python腳本批量寫ES數(shù)據(jù),需要使用pip提前下載安裝es依賴庫。

在線安裝pip

這主要是為了安裝python依賴。

wget [https://bootstrap.pypa.io/pip/2.7/get-pip.py](https://bootstrap.pypa.io/pip/2.7/get-pip.py)

python get-pip.py

[root@manager data]# pip --version

pip 20.3.4 from /usr/lib/python2.7/site-packages/pip (python 2.7)

pip install elasticsearch

Python腳本代碼

數(shù)據(jù)實(shí)例如下圖的效果:

代碼全文如下(大多數(shù)字段的內(nèi)容都會隨機(jī)變化):

(注意,示例中大部分中文內(nèi)容是為了增加存儲使用量,否則100萬條數(shù)據(jù)僅85MB,當(dāng)前百萬數(shù)據(jù)占用665MB,可酌情減少字段)

# coding: utf-8
from elasticsearch import Elasticsearch
from elasticsearch import helpers
import random
import time
import sys


reload(sys)
sys.setdefaultencoding('utf-8')
es = Elasticsearch(hosts='http://10.180.249.94:9200')
# print(es)

names = ['劉一', '陳二', '張三', '李四', '王五', '趙六', '孫七', '周八', '吳九', '鄭十']
names2 = ['劉一沒有曾用名', '陳二沒有曾用名', '張三沒有曾用名', '李四也沒有曾用名啊', '王五沒有曾用名', '趙六也沒有曾用名']
sexs = ['男', '女']
subjects = ['語文', '數(shù)學(xué)', '英語', '生物', '地理','物理','化學(xué)','思想','歷史']
grades = [85, 77, 96, 74, 85, 69, 84, 59, 67, 69, 86, 96, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]
ages = [12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
likes = ['接天蓮葉無窮碧','映日荷花別樣紅','不識廬山真面目','只緣身在此山中','兩個黃鸝鳴翠柳','一行白鷺上青天','姑蘇城外寒山寺','夜半鐘聲到客船','窗含西嶺千秋雪','門泊東吳萬里船']
webs = ['https://api.paugram.com/help/acgm','https://docs.tenapi.cn/img.html','https://api.mz-moe.cn/img.php','https://www.jinrishici.com/doc/#instance-right','https://www.bookmarkearth.com','https://www.yijianlogo.com/template']
datas = ['西風(fēng)吹老洞庭波,一夜湘君白發(fā)多。醉后不知天在水,滿船清夢壓星河。','鑿破蒼苔地,偷他一片天。白云生鏡里,明月落階前。','春風(fēng)倚棹闔閭城,水國春寒陰復(fù)晴。細(xì)雨濕衣看不見,閑花落地聽無聲。','日斜江上孤帆影,草綠湖南萬里情。東道若逢相識問,青袍今日誤儒生。','浪花有意千里雪,桃李無言一隊(duì)春。一壺酒,一竿身,快活如儂有幾人?','岸闊檣稀波渺茫,獨(dú)憑危檻思何長。蕭蕭遠(yuǎn)樹疏林外 ,一半秋山帶夕陽。']
dates = ['2002-10-12-11:00:02','2022-12-12-15:18:09','2023-12-08-11:00:02','2022-11-22-16:01:01','2021-09-19-13:55:55','2019-11-11-15:07:06','2010-08-09-11:56:09','2023-06-18-01:06:01','2022-12-12-19:06:04','2023-10-15-16:13:02']

start = time.time()
# 開始批量寫入es數(shù)據(jù)庫
# 批量寫入數(shù)據(jù)
for j in range(2000):
    print(j)
    action = [
        {
            "_index": "grades_v3",
            "_type": "_doc",
            "_id": i,
            "_source": {
                "id": i,
                "name": random.choice(names),
                "old_name": random.choice(names2),
                "sex": random.choice(sexs),
                "subject": random.choice(subjects),
                "grade": random.choice(grades),
                "ages": random.choice(ages),
                "likes": random.choice(likes),
                "likes2": random.choice(likes),
                "others2": random.choice(datas),
                "websites": random.choice(webs),
                "others": random.choice(likes),
                "login_date":  random.choice(dates),
                "others3": random.choice(datas)
            }
        } for i in range(10000 * j, 10000 * j + 10000)
    ]
    helpers.bulk(es, action)
end = time.time()
print('Total Time Spent: ', end - start)

執(zhí)行

python esgen.py

寫入了2000萬條數(shù)據(jù)約13GB,足以模擬大多數(shù)測試需求了,耗時6330秒。

指定創(chuàng)建索引的分片數(shù)

默認(rèn)的索引自動創(chuàng)建只有一個分片,指定分片的代碼如下:

# 定義要創(chuàng)建的索引及其設(shè)置,包括主分片數(shù)為3  
create_index_body = {  
    "settings": {  
        "index": {  
            "number_of_shards": 3,  # 設(shè)置主分片數(shù)為3  
            "number_of_replicas": 1  # 設(shè)置副本數(shù)為1,可以根據(jù)需要調(diào)整  
        }  
    }  
}  
  
# 創(chuàng)建索引  
if not es.indices.exists(index="my_index"):  
    es.indices.create(index="my_index", body=create_index_body)  

在后續(xù)寫入時指定為這個"my_index"即可,名字隨意。

到此這篇關(guān)于Python批量寫入ES索引數(shù)據(jù)的示例代碼的文章就介紹到這了,更多相關(guān)Python寫入ES索引數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python第三方庫jieba庫與中文分詞全面詳解

    Python第三方庫jieba庫與中文分詞全面詳解

    jieba庫是一款優(yōu)秀的Python第三方中文分詞庫,jieba支持三種分詞模式:精確模式、全模式和搜索引擎模式,下面這篇文章主要給大家介紹了關(guān)于Python第三方庫jieba庫與中文分詞的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • python 輸出列表元素實(shí)例(以空格/逗號為分隔符)

    python 輸出列表元素實(shí)例(以空格/逗號為分隔符)

    今天小編就為大家分享一篇python 輸出列表元素實(shí)例(以空格/逗號為分隔符),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python中Random和Math模塊學(xué)習(xí)筆記

    Python中Random和Math模塊學(xué)習(xí)筆記

    這篇文章主要介紹了Python中Random和Math模塊學(xué)習(xí)筆記,本文講解了math模塊的數(shù)學(xué)常量、常用簡單函數(shù)、三角函數(shù)等,講解了random模塊的常用函數(shù)、隨機(jī)挑選和排序等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • 如何使用Python逆向抓取APP數(shù)據(jù)

    如何使用Python逆向抓取APP數(shù)據(jù)

    今天給大伙分享一下 Python 爬蟲的教程,這次主要涉及到的是關(guān)于某 APP 的逆向分析并抓取數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • 如何用Python生成二維碼、解析二維碼

    如何用Python生成二維碼、解析二維碼

    這篇文章主要介紹了如何用Python生成二維碼、解析二維碼,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Django ImageFiled上傳照片并顯示的方法

    Django ImageFiled上傳照片并顯示的方法

    今天小編就為大家分享一篇Django ImageFiled上傳照片并顯示的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Anaconda虛擬環(huán)境中安裝cudatoolkit和cudnn包并配置pytorch-gpu的配置教程

    Anaconda虛擬環(huán)境中安裝cudatoolkit和cudnn包并配置pytorch-gpu的配置教程

    這篇文章詳細(xì)介紹了如何在Anaconda虛擬環(huán)境中安裝和配置TensorFlow,特別是針對CUDA和cuDNN的版本管理,文章首先解釋了為什么需要更新TensorFlow版本,然后指導(dǎo)如何創(chuàng)建新的虛擬環(huán)境,需要的朋友可以參考下
    2025-02-02
  • 以windows service方式運(yùn)行Python程序的方法

    以windows service方式運(yùn)行Python程序的方法

    這篇文章主要介紹了以windows service方式運(yùn)行Python程序的方法,可實(shí)現(xiàn)將Python程序變成windows服務(wù)的功能,需要的朋友可以參考下
    2015-06-06
  • Python使用thread模塊實(shí)現(xiàn)多線程的操作

    Python使用thread模塊實(shí)現(xiàn)多線程的操作

    線程(Threads)是操作系統(tǒng)提供的一種輕量級的執(zhí)行單元,可以在一個進(jìn)程內(nèi)并發(fā)執(zhí)行多個任務(wù),每個線程都有自己的執(zhí)行上下文,包括棧、寄存器和程序計(jì)數(shù)器,本文給大家介紹了Python使用thread模塊實(shí)現(xiàn)多線程的操作,需要的朋友可以參考下
    2024-10-10
  • CPython中處理is與is not語句示例詳解

    CPython中處理is與is not語句示例詳解

    這篇文章主要為大家介紹了CPython中處理is與is not語句示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07

最新評論

通江县| 广州市| 望城县| 定襄县| 贵溪市| 咸宁市| 连州市| 泸水县| 巴楚县| 花莲县| 威海市| 潼南县| 蒙阴县| 讷河市| 辛集市| 永善县| 三原县| 十堰市| 蒙城县| 正定县| 剑河县| 高密市| 孝义市| 筠连县| 杭州市| 米林县| 浮山县| 本溪| 永昌县| 荃湾区| 淄博市| 三江| 图片| 綦江县| 怀柔区| 商洛市| 沅陵县| 保亭| 罗定市| 城步| 大城县|