在 Stage 中查询 TSV 文件
本指南介绍如何从 stage 中查询 TSV 文件(在 TiDB Cloud Lake v1.2.890-nightly 及更高版本中称为 TEXT)。为兼容旧版本服务器,示例中仍使用 TSV。
语法
教程
第 1 步:创建外部 Stage
创建一个外部 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;
- 更多 TSV 文件格式选项,请参见 TSV 文件格式选项
第 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$FILENAME 和 METADATA$FILE_ROW_NUMBER 等元信息列:
SELECT
METADATA$FILENAME,
METADATA$FILE_ROW_NUMBER,
$1, $2, $3
FROM @tsv_query_stage
(
FILE_FORMAT => 'tsv_query_format',
PATTERN => '.*[.]tsv'
);