使用 Yandex.Metrica 字典函数
有关创建引用列表的信息,请参阅 «字典» 部分.
ClickHouse支持同时使用多个备选地理基(区域层次结构),以支持某些地区所属国家的各种观点。
该 ‘clickhouse-server’ config指定具有区域层次结构的文件::
除了这个文件,它还搜索附近有_符号和任何后缀附加到名称(文件扩展名之前)的文件。
例如,它还会找到该文件 /opt/geo/regions_hierarchy_ua.txt
,如果存在。
ua
被称为字典键。 对于没有后缀的字典,键是空字符串。
所有字典都在运行时重新加载(每隔一定数量的秒重新加载一次,如builtin_dictionaries_reload_interval config参数中定义,或默认情况下每小时一次)。 但是,可用字典列表在服务器启动时定义一次。
从 Yandex geobase 接收一个 UInt32 数字类型的区域ID 。如果该区域是一个城市或城市的一部分,它将返回相应城市的区域ID。否则,返回0。
regionToArea(id[, geobase])
将区域转换为区域(地理数据库中的类型5)。 在所有其他方式,这个功能是一样的 ‘regionToCity’.
SELECT DISTINCT regionToName(regionToArea(toUInt32(number), 'ua'))
FROM system.numbers
regionToDistrict(id[,geobase])
将区域转换为联邦区(地理数据库中的类型4)。 在所有其他方式,这个功能是一样的 ‘regionToCity’.
FROM system.numbers
LIMIT 15
将区域转换为国家。 在所有其他方式,这个功能是一样的 ‘regionToCity’.
示例: regionToCountry(toUInt32(213)) = 225
转换莫斯科(213)到俄罗斯(225)。
regionToContinent(id[, geobase])
将区域转换为大陆。 在所有其他方式,这个功能是一样的 ‘regionToCity’.
示例: regionToContinent(toUInt32(213)) = 10001
将莫斯科(213)转换为欧亚大陆(10001)。
regionToTopContinent (#regiontotopcontinent)
查找该区域层次结构中最高的大陆。
regionToTopContinent(id[, geobase])
参数
返回值
- 0,如果没有。
类型: UInt32
.
获取区域的人口。
人口可以记录在文件与地球基。请参阅«外部词典»部分。
如果没有为该区域记录人口,则返回0。
在Yandex地理数据库中,可能会为子区域记录人口,但不会为父区域记录人口。
regionIn(lhs,rhs[,地理数据库])
检查是否 ‘lhs’ 属于一个区域 ‘rhs’ 区域。 如果属于UInt8,则返回等于1的数字,如果不属于则返回0。
这种关系是反射的——任何地区也属于自己。
regionHierarchy(id[, geobase])
从 Yandex geobase 接收一个 UInt32 数字类型的区域ID。返回一个区域ID数组,由传递的区域和链上的所有父节点组成。
示例: regionHierarchy(toUInt32(213)) = [213,1,3,225,10001,10000]
.
ua
和 uk
都意味着乌克兰。