日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

數(shù)據(jù)字典

在數(shù)倉(cāng)開(kāi)發(fā)和數(shù)據(jù)分析過(guò)程中,當(dāng)業(yè)務(wù)中有常量數(shù)據(jù)或者業(yè)務(wù)數(shù)據(jù)可以劃分為業(yè)務(wù)事實(shí)表和業(yè)務(wù)維度表時(shí),您可以通過(guò)使用數(shù)據(jù)字典來(lái)替代維度表實(shí)現(xiàn),避免使用Join語(yǔ)句,從而提升查詢效率。本文為您介紹云數(shù)據(jù)庫(kù)ClickHouse如何新建、修改和使用外部擴(kuò)展字典。

前提條件

數(shù)據(jù)源與目標(biāo)集群使用了相同的VPC,且在同一地域下,并將彼此的IP添加到了對(duì)方白名單中。如果不滿足此條件,請(qǐng)先解決網(wǎng)絡(luò)問(wèn)題。具體操作,請(qǐng)參見(jiàn)如何解決目標(biāo)集群與數(shù)據(jù)源網(wǎng)絡(luò)互通問(wèn)題

說(shuō)明

您可以通過(guò)SELECT * FROM system.clusters;命令查看云數(shù)據(jù)庫(kù)ClickHouse集群的IP地址。

ClickHouse如何添加白名單,請(qǐng)參見(jiàn)設(shè)置白名單

注意事項(xiàng)

以下版本的云數(shù)據(jù)庫(kù)ClickHouse集群不支持通過(guò)控制臺(tái)管理數(shù)據(jù)字典。如需創(chuàng)建,您可以通過(guò)SQL查看和創(chuàng)建數(shù)據(jù)字典。具體操作,請(qǐng)參見(jiàn)創(chuàng)建字典

  • 21.8及以上版本的云數(shù)據(jù)庫(kù)ClickHouse社區(qū)兼容版集群。

  • 云數(shù)據(jù)庫(kù)ClickHouse企業(yè)版集群。

新建字典配置

  1. 登錄云數(shù)據(jù)庫(kù)ClickHouse控制臺(tái)

  2. 在頁(yè)面左上角,選擇目標(biāo)集群所在的地域。

  3. 集群列表頁(yè)面,選擇默認(rèn)實(shí)例列表,單擊目標(biāo)集群ID。

  4. 在左側(cè)導(dǎo)航欄,單擊字典管理,進(jìn)入字典列表頁(yè)面。

  5. 單擊右上角新增字典配置

  6. 在彈出的新增字典配置窗口編輯模板填寫字典內(nèi)容。

    此處只介紹字典配置的主要參數(shù),更多參數(shù),請(qǐng)參見(jiàn)Dictionaries

    參數(shù)

    描述

    <name>

    自定義字典名稱,必須全局唯一。

    <source>

    配置字典的數(shù)據(jù)源,表示字典中的數(shù)據(jù)來(lái)源。目前ClickHouse支持的數(shù)據(jù)源為:

    • MySQL

    • ClickHouse

    <lifetime>

    字典中數(shù)據(jù)的更新頻率,單位:秒。

    <layout>

    內(nèi)存中的數(shù)據(jù)格式類型,目前擴(kuò)展字典共擁有7種類型。

    • 單數(shù)值key

      • flat

      • hashed

      • range_hashed

      • cache

    • 復(fù)合key

      • complex_key_hashed

      • complex_key_cache

      • ip_trie

    <structure>

    字典的數(shù)據(jù)結(jié)構(gòu)。

    說(shuō)明

    單次只允許添加一個(gè)節(jié)點(diǎn)。

  7. 填寫完畢后單擊確定,數(shù)據(jù)字典創(chuàng)建完成。

    創(chuàng)建成功后,在數(shù)據(jù)字典對(duì)應(yīng)的操作列,可進(jìn)行查看、刪除和修改。

字典表DDL

云數(shù)據(jù)庫(kù)ClickHouse集群20.8之后的版本(您可以登錄ClickHouse控制臺(tái)-集群信息-查看版本號(hào))增加了數(shù)據(jù)字典的DDL,您可以直接使用DDL語(yǔ)句新建擴(kuò)展字典表。

CREATE DICTIONARY [IF NOT EXISTS] [db.]dictionary_name [ON CLUSTER cluster]
(
    key1 type1  [DEFAULT|EXPRESSION expr1] [HIERARCHICAL|INJECTIVE|IS_OBJECT_ID],
    key2 type2  [DEFAULT|EXPRESSION expr2] [HIERARCHICAL|INJECTIVE|IS_OBJECT_ID],
    attr1 type2 [DEFAULT|EXPRESSION expr3],
    attr2 type2 [DEFAULT|EXPRESSION expr4]
)
PRIMARY KEY key1, key2
SOURCE(SOURCE_NAME([param1 value1 ... paramN valueN]))
LAYOUT(LAYOUT_NAME([param_name param_value]))
LIFETIME([MIN val1] MAX val2)

數(shù)據(jù)字典的使用

字典表查詢

SELECT
    name,
    type,
    key,
    attribute.names,
    attribute.types,
    bytes_allocated,
    element_count,
    source
FROM system.dictionaries

查詢字典數(shù)據(jù)

使用dictGet函數(shù)獲取數(shù)據(jù)字典中的數(shù)據(jù)。dictGet函數(shù)的更多詳情,請(qǐng)參見(jiàn)ClickHouse官方文檔

dictGet(<dict_name>, <attr_name>, <id_expr>)
dictGetOrDefault(<dict_name>, <attr_name>, <id_expr>, <default_value_expr>)