ClickHouse/docs/ja/sql-reference/functions/ym-dict-functions.md
2020-10-13 20:23:29 +03:00

8.7 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 59 Yandexでの作業。メトリカ辞書

Yandexで作業するための機能。メトリカ辞書

以下の機能を機能させるには、サーバー設定ですべてのYandexを取得するためのパスとアドレスを指定する必要があります。メトリカ辞書。 辞書は、これらの関数の最初の呼び出し時に読み込まれます。 参照リストをロードできない場合は、例外がスローされます。

のための情報を参照リストの項をご参照ください “Dictionaries”.

複数のジオベース

ClickHouseは、特定の地域が属する国のさまざまな視点をサポートするために、複数の代替ジオベース地域階層を同時に使用することをサポートしています。

その clickhouse-server configは、地域階層を持つファイルを指定します::<path_to_regions_hierarchy_file>/opt/geo/regions_hierarchy.txt</path_to_regions_hierarchy_file>

このファイル以外にも、名前に_記号と接尾辞が付加された近くのファイルも検索しますファイル拡張子の前に。 たとえば、次のファイルも検索します /opt/geo/regions_hierarchy_ua.txt、存在する場合。

ua 辞書キーと呼ばれます。 接尾辞のない辞書の場合、キーは空の文字列です。

すべての辞書は実行時に再ロードされます(builtin_dictionaries_reload_interval設定パラメータで定義されているように、一定の秒数ごとに、またはデフォルトでは時間に一度)。 ただし、使用可能な辞書のリストは、サーバーの起動時に一度に定義されます。

All functions for working with regions have an optional argument at the end the dictionary key. It is referred to as the geobase. 例:

regionToCountry(RegionID)  Uses the default dictionary: /opt/geo/regions_hierarchy.txt
regionToCountry(RegionID, '')  Uses the default dictionary: /opt/geo/regions_hierarchy.txt
regionToCountry(RegionID, 'ua')  Uses the dictionary for the 'ua' key: /opt/geo/regions_hierarchy_ua.txt

リージョントシティ(id[,geobase])

Accepts a UInt32 number the region ID from the Yandex geobase. If this region is a city or part of a city, it returns the region ID for the appropriate city. Otherwise, returns 0.

レギオントアレア(id[,geobase])

領域を領域に変換します(ジオベースのタイプ5)。 他のすべての方法では、この関数は次のように同じです regionToCity.

SELECT DISTINCT regionToName(regionToArea(toUInt32(number), 'ua'))
FROM system.numbers
LIMIT 15
┌─regionToName(regionToArea(toUInt32(number), \'ua\'))─┐
│                                                      │
│ Moscow and Moscow region                             │
│ St. Petersburg and Leningrad region                  │
│ Belgorod region                                      │
│ Ivanovsk region                                      │
│ Kaluga region                                        │
│ Kostroma region                                      │
│ Kursk region                                         │
│ Lipetsk region                                       │
│ Orlov region                                         │
│ Ryazan region                                        │
│ Smolensk region                                      │
│ Tambov region                                        │
│ Tver region                                          │
│ Tula region                                          │
└──────────────────────────────────────────────────────┘

レジオントディストリクト(id[,geobase])

地域を連邦区ジオベースのタイプ4に変換します。 他のすべての方法では、この関数は次のように同じです regionToCity.

SELECT DISTINCT regionToName(regionToDistrict(toUInt32(number), 'ua'))
FROM system.numbers
LIMIT 15
┌─regionToName(regionToDistrict(toUInt32(number), \'ua\'))─┐
│                                                          │
│ Central federal district                                 │
│ Northwest federal district                               │
│ South federal district                                   │
│ North Caucases federal district                          │
│ Privolga federal district                                │
│ Ural federal district                                    │
│ Siberian federal district                                │
│ Far East federal district                                │
│ Scotland                                                 │
│ Faroe Islands                                            │
│ Flemish region                                           │
│ Brussels capital region                                  │
│ Wallonia                                                 │
│ Federation of Bosnia and Herzegovina                     │
└──────────────────────────────────────────────────────────┘

regionToCountry(id[,geobase])

地域を国に変換します。 他のすべての方法では、この関数は次のように同じです regionToCity. 例: regionToCountry(toUInt32(213)) = 225 モスクワ213をロシア225に変換します。

レジオントコンテンツ(id[,geobase])

地域を大陸に変換します。 他のすべての方法では、この関数は次のように同じです regionToCity. 例: regionToContinent(toUInt32(213)) = 10001 モスクワ(213)をユーラシア(10001)に変換します。

regionToTopContinent(#regiontotopcontinent)

リージョンの階層内で最も高い大陸を検索します。

構文

regionToTopContinent(id[, geobase]);

パラメータ

戻り値

  • トップレベルの大陸の識別子(後者は地域の階層を登るとき)。
  • ない場合は0。

タイプ: UInt32.

リージョントポピュレーション(id[,geobase])

地域の人口を取得します。 母集団は、ジオベースを持つファイルに記録することができます。 セクションを参照 “External dictionaries”. 人口が地域に記録されていない場合は、0を返します。 Yandexジオベースでは、子リージョンに対して母集団が記録されますが、親リージョンに対しては記録されません。

レギオニン(lhs,rhs[,geobase])

Aかどうかチェック lhs 地域はaに属します rhs 地域。 UInt8が属している場合は1、属していない場合は0を返します。 The relationship is reflexive any region also belongs to itself.

リージョンハイアーキテクチャ(id[,geobase])

Accepts a UInt32 number the region ID from the Yandex geobase. Returns an array of region IDs consisting of the passed region and all parents along the chain. 例: regionHierarchy(toUInt32(213)) = [213,1,3,225,10001,10000].

レジオントナム(id[,lang])

Accepts a UInt32 number the region ID from the Yandex geobase. A string with the name of the language can be passed as a second argument. Supported languages are: ru, en, ua, uk, by, kz, tr. If the second argument is omitted, the language ru is used. If the language is not supported, an exception is thrown. Returns a string the name of the region in the corresponding language. If the region with the specified ID doesn't exist, an empty string is returned.

uauk もうクです。

元の記事