按航空公司进行划分的到达时间延迟分布 SELECTCarrier, count() ASc, round(quantileTDigest(0.99)(DepDelay), 2) ASqFROMontime GROUPBYCarrier ORDERBYq DESC 停止航班运营的航空公司 SELECTCarrier, min(Year), max(Year), count()FROMontime GROUPBYCarrier HAVINGmax(Year) < 2015ORDERBYcount() DESC 2015年最具趋向目的地城市 SELECTDestCityName,sum(Year= 2014) ASc2014, sum(Year= 2015) ASc2015, c2015 / c2014 ASdiff FROMontime WHEREYearIN(2014, 2015) GROUPBYDestCityNameHAVINGc2014 > 10000ANDc2015 > 1000ANDdiff > 1 ORDERBYdiff DESC 最受欢迎的季节性旅游目的地城市 SELECTDestCityName,any(total), avg(abs(monthly * 12- total) / total) ASavg_month_diff FROM ( SELECTDestCityName, count() AStotal FROMontime GROUPBYDestCityName HAVINGtotal > 100000 )ALL INNERJOIN ( SELECTDestCityName, Month, count() ASmonthly FROMontime GROUPBYDestCityName, MonthHAVINGmonthly > 10000 ) USINGDestCityName GROUPBYDestCityName ORDERBYavg_month_diff DESC LIMIT20 Clickhouse的集群部署 Clickhouse集群是一个同质化(homogenous)集群,构建步骤如下: 在集群每一台机器上都安装上Clickhouse服务器 设置集群配置文件 在每个实例上创建本地表(local tables) 创建一个分布式表 分布式表实际上是Clickhouse集群本地表的一种“视图”。对分布式表的SELECT查询,会利用集群所有分片资源进行执行。你可以配置多个集群,并创建多个分布式表,atv,给不同的集群提供视图。 如下是有三个分片组成一个集群的配置文件,每个分片单独存储一个数据副本 <remote_servers><perftest_3shards_1replicas><shard><replica><host>example-perftest01j.yandex.ru </host><port>9000 </port></replica></shard><shard><replica><host>example-perftest02j.yandex.ru </host><port>9000 </port></replica></shard><shard><replica><host>example-perftest03j.yandex.ru </host><port>9000 </port></replica></shard></perftest_3shards_1replicas> </remote_servers> 创建一个本地表: CREATE TABLE ontime_local (...)ENGINE = MergeTree (FlightDate, (Year, FlightDate), 8192); 创建一个分布式表,提供到集群本地表的视图: CREATETABLEontime_all ASontime_local ENGINE= Distributed(perftest_3shards_1replicas, default, ontime_local, rand()); (责任编辑:本港台直播) |