跳到主要内容
跳到主要内容

纽约出租车数据

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 中,请选择其中一个选项卡。

以下命令将三个文件从 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-datahttp://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

serversQ1Q2Q3Q4
1, E5-2650v20.4901.2242.1043.593
3, E5-2650v20.2120.4380.7331.241
1, AWS c5n.4xlarge0.2491.2791.7383.527
1, AWS c5n.9xlarge0.1300.5840.7771.811
3, AWS c5n.9xlarge0.0570.2310.2850.641
140, E5-2650v20.0280.0430.0510.072