在 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
- 更多 CSV 文件格式选项,请参见 CSV 文件格式选项
第 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'
);