跳到主要内容

查询暂存区中的 TSV 文件

语法:

教程

第 1 步:创建外部暂存区

创建一个外部暂存区(Stage),并配置你的 S3 存储桶和凭据,你的 TSV 文件存储在该位置。

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

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

CREATE FILE FORMAT tsv_query_format 
TYPE = TSV,
RECORD_DELIMITER = '\n',
FIELD_DELIMITER = ',',
COMPRESSION = AUTO;

第 3 步:查询 TSV 文件

SELECT $1, $2, $3
FROM @tsv_query_stage
(
FILE_FORMAT => 'tsv_query_format',
PATTERN => '.*[.]tsv'
);

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

SELECT $1, $2, $3
FROM @tsv_query_stage
(
FILE_FORMAT => 'tsv_query_format',
PATTERN => '.*[.]tsv[.]gz'
);

查询元数据

直接从暂存区(Stage)查询 TSV 文件,包括 METADATA$FILENAMEMETADATA$FILE_ROW_NUMBER 等元数据列:

SELECT
METADATA$FILENAME,
METADATA$FILE_ROW_NUMBER,
$1, $2, $3
FROM @tsv_query_stage
(
FILE_FORMAT => 'tsv_query_format',
PATTERN => '.*[.]tsv'
);