Passer au contenu principal

Dictionnaires hiérarchiques

ClickHouse prend en charge les dictionnaires hiérarchiques avec une clé numérique. Considérez la structure hiérarchique suivante :
0 (Common parent)

├── 1 (United States of America)
│   │
│   └── 2 (California)
│       │
│       └── 3 (San Francisco)

└── 4 (Great Britain)

    └── 5 (London)
Cette hiérarchie peut être représentée par la table de dictionnaire suivante.
region_idparent_regionregion_name
10États-Unis d’Amérique
21Californie
32San Francisco
40Grande-Bretagne
54Londres
Cette table contient une colonne parent_region qui contient la clé du parent le plus proche de l’élément. ClickHouse prend en charge la propriété hiérarchique pour les attributs de dictionnaire externes. Cette propriété vous permet de configurer le dictionnaire hiérarchique de manière similaire à ce qui est décrit ci-dessus. La fonction dictGetHierarchy vous permet d’obtenir la chaîne des parents d’un élément. Pour notre exemple, la structure du dictionnaire peut être la suivante :
CREATE DICTIONARY regions_dict
(
    region_id UInt64,
    parent_region UInt64 DEFAULT 0 HIERARCHICAL,
    region_name String DEFAULT ''
)
PRIMARY KEY region_id
SOURCE(...)
LAYOUT(HASHED())
LIFETIME(3600);

Dernière modification le 29 juin 2026