Help wanted!
The following content of this documentation page has been machine-translated. But unlike other websites, it is not done on the fly. This translated text lives on GitHub repository alongside main ClickHouse codebase and waits for fellow native speakers to make it more human-readable. You can also use the original English version as a reference.
Dictionnaires Hiérarchiques
Clickhouse prend en charge les dictionnaires hiérarchiques avec un touche numérique.
Voici une structure hiérarchique:
0 (Common parent)
│
├── 1 (Russia)
│ │
│ └── 2 (Moscow)
│ │
│ └── 3 (Center)
│
└── 4 (Great Britain)
│
└── 5 (London)
Cette hiérarchie peut être exprimée comme la table de dictionnaire suivante.
id_région | région_parent | nom_région |
---|---|---|
1 | 0 | Russie |
2 | 1 | Moscou |
3 | 2 | Center |
4 | 0 | La Grande-Bretagne |
5 | 4 | Londres |
Ce tableau contient une colonne parent_region
qui contient la clé du parent le plus proche de l'élément.
Clickhouse soutient le hiérarchique propriété pour externe dictionnaire attribut. Cette propriété vous permet de configurer le dictionnaire hiérarchique comme décrit ci-dessus.
Le dictGetHierarchy la fonction vous permet d'obtenir la chaîne parent d'un élément.
Pour notre exemple, la structure du dictionnaire peut être la suivante:
<dictionary>
<structure>
<id>
<name>region_id</name>
</id>
<attribute>
<name>parent_region</name>
<type>UInt64</type>
<null_value>0</null_value>
<hierarchical>true</hierarchical>
</attribute>
<attribute>
<name>region_name</name>
<type>String</type>
<null_value></null_value>
</attribute>
</structure>
</dictionary>