从 Google Cloud Storage 读取数据
使用 ClickHouse 的 S3 表函数,用户可以查询 GCS 数据作为源,而无需在 ClickHouse 中持久化数据。以下示例说明了如何读取 纽约出租车数据集 的 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'
);
这将使用从数据推断的模式创建一个空表。然后,我们可以从远程数据集中插入前 100 万行数据
INSERT INTO trips SELECT *
FROM
s3(
'https://storage.googleapis.com/clickhouse-public-datasets/nyc-taxi/trips_{0..2}.gz',
'TabSeparatedWithNames'
)
LIMIT 1000000;