mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-17 22:10:54 +00:00
d91c97d15d
* Replace underscores with hyphens * remove temporary code * fix style check * fix collapse
2.1 KiB
2.1 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | e8cd92bba3 |
45 | Hiyerarşik sözlükler |
Hiyerarşik Sözlükler
ClickHouse bir hiyerarşik sözlükler destekler sayısal tuş.
Aşağıdaki hiyerarşik yapıya bakın:
0 (Common parent)
│
├── 1 (Russia)
│ │
│ └── 2 (Moscow)
│ │
│ └── 3 (Center)
│
└── 4 (Great Britain)
│
└── 5 (London)
Bu hiyerarşi aşağıdaki sözlük tablosu olarak ifade edilebilir.
region_id | parent_region | region_name |
---|---|---|
1 | 0 | Rusya |
2 | 1 | Moskova |
3 | 2 | Merkezli |
4 | 0 | İngiltere |
5 | 4 | Londra |
Bu tablo bir sütun içerir parent_region
bu öğe için en yakın ebeveynin anahtarını içerir.
ClickHouse destekler hiyerarşik için mülkiyet dış sözlük öznitelik. Bu özellik, yukarıda açıklanana benzer hiyerarşik sözlüğü yapılandırmanıza izin verir.
Bu dictGetHierarchy fonksiyonu bir elemanın üst zincir almak için izin verir.
Örneğimiz için, sözlüğün yapısı aşağıdaki gibi olabilir:
<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>