从 S3 读取数据
使用 ClickHouse S3 表函数,用户可以将 S3 数据作为数据源进行查询,而无需在 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://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;