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.
内部辞書
ClickHouseには、ジオベースを操作するための組み込み機能が含まれています。
これにより、:
- 地域のIDを使用して、目的の言語でその名前を取得します。
- 地域のIDを使用して、都市、地域、連邦区、国、または大陸のIDを取得します。
- ある地域が別の地域の一部であるかどうかを確認します。
- 親領域のチェーンを取得します。
すべての機能サポート “translocality,” 地域の所有権に関する異なる視点を同時に使用する能力。 詳細については “Functions for working with Yandex.Metrica dictionaries”.
既定のパッケージでは、内部辞書は無効になっています。
よって、strncasecmpのパラメータ path_to_regions_hierarchy_file
と path_to_regions_names_files
サーバー設定ファイル内。
Geobaseはテキストファイルから読み込まれます。
を置く regions_hierarchy*.txt
にファイル path_to_regions_hierarchy_file
ディレクトリ。 この構成パラメータには、 regions_hierarchy.txt
ファイル(既定の地域階層)、およびその他のファイル (regions_hierarchy_ua.txt
)同じディレクトリにある必要があります。
を置く regions_names_*.txt
のファイル path_to_regions_names_files
ディレクトリ。
を作ることもできますこれらのファイル。 ファイル形式は次のとおりです:
regions_hierarchy*.txt
:TabSeparated(ヘッダーなし),列:
- 地域ID (
UInt32
) - 親リージョンID (
UInt32
) - 地域タイプ (
UInt8
):1大陸、3国、4連邦区、5地域、6都市。 - 人口 (
UInt32
) — optional column
regions_names_*.txt
:TabSeparated(ヘッダーなし),列:
- 地域ID (
UInt32
) - 地域名 (
String
) — Can't contain tabs or line feeds, even escaped ones.
フラットアレイは、RAMに格納するために使用されます。 このため、Idは百万を超えるべきではありません。
辞書は、サーバーを再起動せずに更新できます。 ただし、使用可能な辞書のセットは更新されません。
更新の場合、ファイルの変更時間がチェックされます。 ファイルが変更された場合は、辞書が更新されます。
変更をチェックする間隔は、 builtin_dictionaries_reload_interval
パラメータ。
辞書の更新(最初の使用時の読み込み以外)は、クエリをブロックしません。 更新中、クエリは古いバージョンの辞書を使用します。 更新中にエラーが発生すると、エラーはサーバーログに書き込まれ、クエリは古いバージョンの辞書を使用し続けます。
Geobaseで辞書を定期的に更新することをお勧めします。 更新中に、新しいファイルを生成し、別の場所に書き込みます。 すべての準備ができたら、サーバーが使用するファイルに名前を変更します。
OS識別子とYandexを操作するための機能もあります。Metricaの調査エンジン、しかしそれらは使用されるべきではない。