查询与转换
Databend 通过其 ELT(提取、加载、转换)模型引入了数据处理的创新方法。该模型的一个重要方面是查询阶段文件中的数据。
您可以使用 SELECT
语句查询阶段文件中的数据。此功能适用于以下类型的阶段:
- 用户阶段、内部阶段或外部阶段。
- 在您的对象存储中创建的存储桶或容器,例如 Amazon S3、Google Cloud Storage 和 Microsoft Azure。
- 可通过 HTTPS 访问的远程服务器。
此功能在加载数据之前或之后检查或查看阶段文件内容时特别有用。
语法和参数
SELECT [<alias>.]<column> [, <column> ...] | [<alias>.]$<col_position> [, $<col_position> ...]
FROM {@<stage_name>[/<path>] [<table_alias>] | '<uri>' [<table_alias>]}
[(
[<connection_parameters>],
[ PATTERN => '<regex_pattern>'],
[ FILE_FORMAT => 'CSV | TSV | NDJSON | PARQUET | ORC | <custom_format_name>'],
[ FILES => ( '<file_name>' [ , '<file_name>' ... ])],
[ CASE_SENSITIVE => true | false ]
)]
备注
当阶段路径包含空格或括号等特殊字符时,您可以将整个路径用单引号括起来,如下面的 SQL 语句所示:
SELECT * FROM 's3://mybucket/dataset(databend)/' ...
SELECT * FROM 's3://mybucket/dataset databend/' ...