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 もうクです。

元の記事

Rating: 2 - 3 votes

Was this content helpful?
★★☆☆☆