📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

在 Stage 中查询 CSV 文件



语法

教程

第 1 步:创建外部 Stage

使用你自己的 S3 存储桶和凭证创建一个外部 stage,用于存储你的 CSV 文件。

CREATE STAGE csv_query_stage URL = 's3://load/csv/' CONNECTION = ( ACCESS_KEY_ID = '<your-access-key-id>' SECRET_ACCESS_KEY = '<your-secret-access-key>' );

第 2 步:创建自定义 CSV 文件格式

CREATE FILE FORMAT csv_query_format TYPE = CSV, RECORD_DELIMITER = '\n', FIELD_DELIMITER = ',', COMPRESSION = AUTO, SKIP_HEADER = 1; -- Skip first line when querying if the CSV file has header

第 3 步:查询 CSV 文件

SELECT $1, $2, $3 FROM @csv_query_stage ( FILE_FORMAT => 'csv_query_format', PATTERN => '.*[.]csv' );

如果 CSV 文件使用 gzip 压缩,可以使用以下查询:

SELECT $1, $2, $3 FROM @csv_query_stage ( FILE_FORMAT => 'csv_query_format', PATTERN => '.*[.]csv[.]gz' );

使用元信息进行查询

直接从 stage 查询 CSV 文件,包括 METADATA$FILENAME 和 METADATA$FILE_ROW_NUMBER 等元信息列:

SELECT METADATA$FILENAME, METADATA$FILE_ROW_NUMBER, $1, $2, $3 FROM @csv_query_stage ( FILE_FORMAT => 'csv_query_format', PATTERN => '.*[.]csv' );

文档内容是否有帮助?