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>

Orijinal makale

Rating: 3 - 4 votes

Was this content helpful?
★★★☆☆