第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何創(chuàng)建嵌套字典以便通過(guò) Python 為 Elasticsearch 創(chuàng)建映射?

如何創(chuàng)建嵌套字典以便通過(guò) Python 為 Elasticsearch 創(chuàng)建映射?

白衣非少年 2022-06-07 19:29:00
我正在嘗試使用 Loop 創(chuàng)建映射來(lái)處理嵌套字典。我的映射表應(yīng)該看起來(lái)像下面的值。 {     "mapping": {    "properties": {        "clusterName": {            "properties": {                "infoAddr": { "type": "string" },                "usedSpace": { "type": "string" },                "capacity": { "type": "int" },                "version": { "type": "string"},                "used": { "type": "int"},                "remaining": { "type" : "int"},                "volfails": { "type": "int"}            }          }      }  }}這是我從 REST API 獲得的數(shù)據(jù){    "test.mydomain_1.xyz:1019": {                                "infoAddr":"x.x.x.x:1022",                                "usedSpace":384635032546,                                "capacity":30697676811776,                                "version":"2.7.3.2.6.5.23-1",                                "used":384635032546,                                "remaining":30311575148182,                                "volfails":0 },    "test.mydomain_2.xyz:1019": {                                "infoAddr":"x.x.x.x:1022",                                "usedSpace":384635032546,                                "capacity":30697676811776,                                "version":"2.7.3.2.6.5.23-1",                                "used":384635032546,                                "remaining":30311575148182,                                "volfails":0 }}現(xiàn)在我有清單1. clusterName = ("test.mydomain_1.xyz:1019", "test.mydomain_2.xyz:1019",..."test.mydomain_n.xyz:1019")2. Properties under properties field = ("infoAddr", "usedSpace",..."volfails")3. Type of values from properties = ("str","str",..."int")請(qǐng)建議我如何使用循環(huán)從這些數(shù)據(jù)創(chuàng)建映射,以便自動(dòng)創(chuàng)建此映射。
查看完整描述

2 回答

?
滄海一幻覺(jué)

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊

result = {}

for cluster_name, data in a.items():

    type_data = {key: {'type': type(value).__name__} for key, value in data.items()}

    result[cluster_name] = type_data


mapping = {"mapping": {"properties": result}}

因此,提供的數(shù)據(jù)的輸出將是:


{

    "mapping":{

        "properties": {

        "test.mydomain_1.xyz:1019": {

            "infoAddr": {"type": "str"}, 

            "usedSpace": {"type": "int"},

            "capacity": {"type": "int"}, 

            "version": {"type": "str"},

            "used": {"type": "int"}, 

            "remaining": {"type": "int"},

            "volfails": {"type": "int"}},

        "test.mydomain_2.xyz:1019": {

            "infoAddr": {"type": "str"}, 

            "usedSpace": {"type": "int"},

            "capacity": {"type": "int"},

            "version": {"type": "str"},

            "used": {"type": "int"}, 

            "remaining": {"type": "int"},

            "volfails": {"type": "int"}

            }

        }

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-06-07
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

如果您想將該源從彈性搜索日志映射到特定形式,我們打算在您在帖子中顯示的 dict 映射中,通常,您需要?jiǎng)?chuàng)建某種形式的遞歸訪問(wèn)者,以便能夠?qū)⑵溆糜诰哂腥我馇短椎?dicts 和如果可以應(yīng)用映射,則有關(guān)字段類(lèi)型的信息。


例如,您可以創(chuàng)建某種函數(shù),如下所示:


def visit(data):

    data_mapping = {}

    for data_key, data_value in data.items():

        if isinstance(data_value,dict):

            if data_key not in data_mapping:

                data_mapping[data_key] = {'properties': {}}

            data_mapping[data_key]['properties'] = visit(data_value)

        else:

            data_mapping[data_key] = {

                'type': data_value.__class__.__name__

            }

    return data_mapping

接下來(lái),調(diào)用 elasticsearch 日志字典上的函數(shù):


mapping = visit(data)

mapping = {'mapping': { 'properties': mapping}}

因此,輸出將是:


{'mapping': { 'properties': {

  'test.mydomain_1.xyz:1019': {

       'properties': {

             'infoAddr': {'type': 'str'},

             'usedSpace': {'type': 'int'},

             'capacity': {'type': 'int'},

             'version': {'type': 'str'},

             'used': {'type': 'int'},

             'remaining': {'type': 'int'},

             'volfails': {'type': 'int'}

        }

  },

 'test.mydomain_2.xyz:1019': {

         'properties': {

               'infoAddr': {'type': 'str'},

               'usedSpace': {'type': 'int'},

               'capacity': {'type': 'int'},

               'version': {'type': 'str'},

               'used': {'type': 'int'},

               'remaining': {'type': 'int'},

               'volfails': {'type': 'int'}

          }

  }}}


查看完整回答
反對(duì) 回復(fù) 2022-06-07
  • 2 回答
  • 0 關(guān)注
  • 273 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)