纽约出租车数据
The New York taxi data sample consists of 3+ billion taxi and for-hire vehicle (Uber, Lyft, etc.) trips originating in New York City since 2009. This getting started guide uses a 3m row sample.
The full dataset can be obtained in a couple of ways:
- 直接从 S3 或 GCS 将数据插入到 ClickHouse Cloud
- 下载准备好的分区
- 或者用户可以在我们的演示环境中查询完整的数据集,访问 sql.clickhouse.com。
以下示例查询在 Production 实例的 ClickHouse Cloud 上执行。有关更多信息,请参见 "Playground specifications"。
Create the table trips
开始时创建一个用于出租车行程的表:
Load the Data directly from Object Storage
用户可以获取一小部分数据(300万行),以便熟悉这些数据。数据以 TSV 文件的形式存储在对象存储中,可以通过 s3
表函数轻松流入 ClickHouse Cloud。
相同的数据存储在 S3 和 GCS 中,请选择其中一个选项卡。
- S3
- GCS
以下命令将三个文件从 S3 存储桶流入 trips_small
表({0..2}
语法是值 0、1 和 2 的通配符):
以下命令将三个文件从 GCS 存储桶流入 trips
表({0..2}
语法是值 0、1 和 2 的通配符):
Sample Queries
以下查询是针对上述示例执行的。用户可以在完整的数据集上运行示例查询,访问 sql.clickhouse.com,将下面的查询修改为使用表 nyc_taxi.trips
。
让我们看一下插入了多少行:
每个 TSV 文件大约有 100 万行,三个文件总共有 3,000,317 行。让我们看看几行数据:
请注意,有关于接送日期、地理坐标、票价细节、纽约社区等的列。
让我们运行几个查询。这个查询显示了接送频率最高的前 10 个社区:
这个查询显示了根据乘客人数的平均票价:
这是乘客人数与行程距离之间的相关性:
Download of Prepared Partitions
以下步骤提供有关原始数据集的信息,以及将准备好的分区加载到自管理的 ClickHouse 服务器环境的方法。
请参见 https://github.com/toddwschneider/nyc-taxi-data 和 http://tech.marksblogg.com/billion-nyc-taxi-rides-redshift.html 获取数据集的描述和下载说明。
下载后的结果将在 CSV 文件中生成约 227 GB 的未压缩数据。通过 1 Gbit 连接下载大约需要一个小时(从 s3.amazonaws.com 并行下载可以恢复至少一半的 1 Gbit 通道)。某些文件可能未完全下载。检查文件大小并重新下载任何可疑的文件。
如果您将要运行以下描述的查询,您必须使用完整的表名 datasets.trips_mergetree
。
Results on Single Server
Q1:
0.490 秒。
Q2:
1.224 秒。
Q3:
2.104 秒。
Q4:
3.593 秒。
使用的服务器如下:
两个 Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz,总共有 16 个物理核心,128 GiB RAM,8x6 TB HD 在硬件 RAID-5 上
执行时间是三次运行中最好的。但是从第二次运行开始,查询从文件系统缓存中读取数据。不再进行其他缓存:数据在每次运行中都被读取和处理。
在三个服务器上创建一个表:
在每个服务器上:
在源服务器上:
以下查询重新分配数据:
这耗时 2454 秒。
在三台服务器上:
Q1:0.212 秒。 Q2:0.438 秒。 Q3:0.733 秒。 Q4:1.241 秒。
没有意外,因为查询是线性扩展的。
我们还有来自 140 台服务器集群的结果:
Q1:0.028 秒。 Q2:0.043 秒。 Q3:0.051 秒。 Q4:0.072 秒。
在这种情况下,查询处理时间主要受网络延迟的影响。 我们使用位于不同数据中心的客户端运行查询,而不是集群所在的数据中心,这增加了大约 20 毫秒的延迟。
Summary
servers | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|
1, E5-2650v2 | 0.490 | 1.224 | 2.104 | 3.593 |
3, E5-2650v2 | 0.212 | 0.438 | 0.733 | 1.241 |
1, AWS c5n.4xlarge | 0.249 | 1.279 | 1.738 | 3.527 |
1, AWS c5n.9xlarge | 0.130 | 0.584 | 0.777 | 1.811 |
3, AWS c5n.9xlarge | 0.057 | 0.231 | 0.285 | 0.641 |
140, E5-2650v2 | 0.028 | 0.043 | 0.051 | 0.072 |