从 Google Cloud Storage 读取数据
使用 ClickHouse S3 表函数,用户可以将 GCS 数据作为数据源进行查询,而无需在 ClickHouse 中持久化。以下示例说明了如何读取 NYC Taxi 数据集 的 10 行数据。
SELECT
trip_id,
total_amount,
pickup_longitude,
pickup_latitude,
dropoff_longitude,
dropoff_latitude,
pickup_datetime,
dropoff_datetime,
trip_distance
FROM s3(
'https://storage.googleapis.com/clickhouse-public-datasets/nyc-taxi/trips_{0..2}.gz',
'TabSeparatedWithNames'
) LIMIT 10;
从 Google Cloud Storage 插入数据
要将数据从 GCS 传输到 ClickHouse,用户可以将 s3 表函数与 INSERT 语句结合使用。让我们创建一个空的 trips
表
CREATE TABLE trips ORDER BY tuple
(
) EMPTY AS SELECT * FROM s3(
'https://storage.googleapis.com/clickhouse-public-datasets/nyc-taxi/trips_{0..2}.gz',
'TabSeparatedWithNames'
);
这将创建一个空表,其 schema 从数据中推断而来。然后,我们可以从远程数据集插入前 100 万行数据
INSERT INTO trips SELECT *
FROM
s3(
'https://storage.googleapis.com/clickhouse-public-datasets/nyc-taxi/trips_{0..2}.gz',
'TabSeparatedWithNames'
)
LIMIT 1000000;