Pular para o conteúdo principal

Dicionários hierárquicos

O ClickHouse oferece suporte a dicionários hierárquicos com uma chave numérica. Veja a seguinte estrutura hierárquica:
0 (Pai comum)

├── 1 (Russia)
│   │
│   └── 2 (Moscou)
│       │
│       └── 3 (Centro)

└── 4 (Grã-Bretanha)

    └── 5 (Londres)
Essa hierarquia pode ser expressa na seguinte tabela do dicionário.
region_idparent_regionregion_name
10Russia
21Moscow
32Center
40Great Britain
54London
Esta tabela contém uma coluna parent_region que armazena a chave do pai mais próximo do elemento. O ClickHouse oferece suporte à propriedade hierárquica para atributos de dicionários externos. Essa propriedade permite configurar o dicionário hierárquico de forma semelhante à descrita acima. A função dictGetHierarchy permite obter a cadeia de pais de um elemento. No nosso exemplo, a estrutura do dicionário pode ser a seguinte:
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);

Última modificação em 10 de junho de 2026