从 S3 读取数据
使用 ClickHouse S3 表函数,用户可以将 S3 数据查询为源,而无需在 ClickHouse 中进行持久化。以下示例说明了如何读取 纽约出租车数据集 的 10 行数据。
SELECT
trip_id,
total_amount,
pickup_longitude,
pickup_latitude,
dropoff_longitude,
dropoff_latitude,
pickup_datetime,
dropoff_datetime,
trip_distance
FROM
s3('https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/trips_*.gz', 'TabSeparatedWithNames')
LIMIT 10
SETTINGS input_format_try_infer_datetimes = 0;
将数据从 S3 插入
要将数据从 S3 传输到 ClickHouse,用户可以将 s3 表函数与 INSERT 语句结合使用。让我们创建一个空的 hackernews
表。
CREATE TABLE hackernews ORDER BY tuple
(
) EMPTY AS SELECT * FROM s3('https://datasets-documentation.s3.eu-west-3.amazonaws.com/hackernews/hacknernews.csv.gz', 'CSVWithNames');
这将使用从数据推断出的模式创建一个空表。然后我们可以插入来自远程数据集的前 100 万行。
INSERT INTO hackernews SELECT *
FROM url('https://datasets-documentation.s3.eu-west-3.amazonaws.com/hackernews/hacknernews.csv.gz', 'CSVWithNames')
LIMIT 1000000;