跳到主要内容

查询 Stage 中的 TSV 文件

查询 Stage 中的 TSV 文件

语法:

SELECT [<alias>.]$<col_position> [, $<col_position> ...]
FROM {@<stage_name>[/<path>] [<table_alias>] | '<uri>' [<table_alias>]}
[(
[<connection_parameters>],
[ PATTERN => '<regex_pattern>'],
[ FILE_FORMAT => 'TSV| <custom_format_name>']
)]
提示

TSV 没有模式信息,因此我们只能通过位置查询列 $<col_position> [, $<col_position> ...]

教程

步骤 1. 创建一个外部 Stage

使用您自己的 S3 桶和凭证创建一个外部 stage,您的 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'
);
这篇文章对您有帮助吗?
Yes
No