すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for ClickHouse:データ辞書

最終更新日:Oct 17, 2024

データウェアハウジングの開発およびデータ分析では、ビジネスファクトテーブルに定数データを保存し、ビジネスディメンションテーブルにビジネスデータを保存する必要がある場合、ディメンションテーブルの代わりにデータ辞書を使用してデータを保存できます。 この方法では、JOINステートメントを実行する必要はありません。 これにより、クエリがより効率的になります。 このトピックでは、ApsaraDB for ClickHouseの外部ディクショナリを作成、変更、および使用する方法について説明します。

前提条件

データソースとターゲットクラスターは同じ仮想プライベートクラウド (VPC) を使用し、同じリージョンに存在します。 データソースのIPアドレスが宛先クラスターのホワイトリストに追加され、宛先クラスターのIPアドレスがデータソースのホワイトリストに追加されます。 それ以外の場合は、まずネットワークの問題を解決します。 詳細については、「」をご参照ください。宛先クラスターとデータソースの間に接続が確立されない場合はどうすればよいですか。 FAQトピックのセクション。

説明

SELECT * FROM system.clusters; ステートメントを実行して、ApsaraDB for ClickHouseクラスターのIPアドレスを照会できます。

ApsaraDB For ClickHouseクラスターのホワイトリストを設定する方法の詳細については、「ホワイトリストの設定」をご参照ください。

V21.8以降のApsaraDB for ClickHouseクラスターのデータ辞書をコンソールで管理することはできません。 SQL文を使用して、データ辞書を表示および作成できます。 詳細については、「辞書の作成」をご参照ください。

外部ディクショナリの作成と変更

  1. にログインします。ApsaraDB for ClickHouseコンソール.

  2. 上部のナビゲーションバーで、管理するクラスターがデプロイされているリージョンを選択します。

  3. On theクラスターページをクリックし、Community-compatible Editionのクラスタータブで、管理するクラスターを検索し、クラスターのIDをクリックします。

  4. 左側のナビゲーションウィンドウで、辞書管理辞書管理ページに移動します。

  5. 右上隅で、をクリックします。辞書設定の追加.

  6. では、辞書設定の追加表示されるダイアログボックスで、テンプレートを編集し、辞書の内容を指定します。

    次の表に、辞書設定の主要なパラメーターのみを示します。 パラメーターの詳細については、「Dictionaries」をご参照ください。

    パラメーター

    説明

    <name>

    作成する外部ディクショナリの名前。 名前はグローバルに一意である必要があります。

    <source>

    ディクショナリのデータソース。 ApsaraDB for ClickHouseは、次のデータソースをサポートしています。

    • MySQL

    • ClickHouse

    <lifetime>

    ディクショナリでデータが更新される間隔。 単位は秒です。

    <レイアウト>

    メモリに保存されているデータの形式。 ApsaraDB for ClickHouseは、外部ディクショナリで次のデータ形式をサポートしています。

    • 数値キー

      • フラット

      • hashed

      • range_hashed

      • cache

    • 合成キー

      • complex_key_hashed

      • complex_key_cache

      • ip_trie

    <構造>

    辞書のデータ構造。

    説明

    一度に追加できるノードは1つだけです。

  7. [OK] をクリックします。 データ辞書が作成されます。

    作成した辞書の [操作] 列のリンクをクリックすると、辞書を表示、変更、または削除できます。

DDLステートメントを実行して外部ディクショナリテーブルを作成する

ApsaraDB for ClickHouseクラスターのバージョンがV20.8以降の場合、DDLステートメントを実行して外部辞書テーブルを作成できます。 ApsaraDB for ClickHouseコンソールで、ApsaraDB for ClickHouseクラスターのバージョン番号を表示できます。 クラスターIDをクリックして、[クラスター情報] ページに移動します。 [クラスタープロパティ] セクションで、バージョン番号を表示できます。

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)

外部ディクショナリを使用する

外部辞書テーブルの照会

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

外部ディクショナリのクエリデータ

dictGet関数を使用して、辞書内のデータを照会します。 dictGet関数の詳細については、「辞書を操作するための関数」をご参照ください。

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