Oct
16
ClickHouse: Dictionary
备查
or from mysql:
Manually reload:
Usage
UDF:
转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php 。
CREATE DICTIONARY xxx.ip_region_dict
ON CLUSTER default_cluster
(
`prefix` UInt32,
`province` Nullable(String),
`province_code` UInt32,
`city` Nullable(String),
`city_code` UInt32,
`area` Nullable(String),
`area_code` UInt32
)
PRIMARY KEY prefix
SOURCE(CLICKHOUSE(HOST '127.0.01' USER 'user' PASSWORD 'xxxx' DB 'test' TABLE 'ip_region' ))
LIFETIME(MIN 0 MAX 0) -- 需要手动刷新
LAYOUT(HASHED())
ON CLUSTER default_cluster
(
`prefix` UInt32,
`province` Nullable(String),
`province_code` UInt32,
`city` Nullable(String),
`city_code` UInt32,
`area` Nullable(String),
`area_code` UInt32
)
PRIMARY KEY prefix
SOURCE(CLICKHOUSE(HOST '127.0.01' USER 'user' PASSWORD 'xxxx' DB 'test' TABLE 'ip_region' ))
LIFETIME(MIN 0 MAX 0) -- 需要手动刷新
LAYOUT(HASHED())
or from mysql:
SOURCE(MYSQL(HOST '127.0.0.1' PORT 3306 USER 'root' PASSWORD 'xxxxx' DB 'test' TABLE 'xxx'))
LIFETIME(MIN 300 MAX 600) -- 5~10分钟自动刷新
LAYOUT(HASHED())
LIFETIME(MIN 300 MAX 600) -- 5~10分钟自动刷新
LAYOUT(HASHED())
Manually reload:
SYSTEM RELOAD DICTIONARY
ON CLUSTER default_cluster
ip_region_dict;
ON CLUSTER default_cluster
ip_region_dict;
Usage
dictGet('xxx.ip_region_dict', 'city', intDiv(IPv4StringToNumOrDefault(ip), 256))
UDF:
CREATE FUNCTION getIPCity
ON CLUSTER default_cluster
AS (ip) ->
dictGet('xxx.ip_region_dict', 'city', intDiv(IPv4StringToNumOrDefault(ip), 256));
ON CLUSTER default_cluster
AS (ip) ->
dictGet('xxx.ip_region_dict', 'city', intDiv(IPv4StringToNumOrDefault(ip), 256));
欢迎扫码关注:

转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php 。
zerotier moon server
ClickHouse Playground


