跳到主要内容

查询暂存区(Stage)中的 ORC 文件

语法

教程

在本教程中,我们将带你完成以下步骤:下载 ORC 格式的 Iris 数据集,上传到 Amazon S3 存储桶,创建外部暂存区(Stage),并直接从 ORC 文件查询数据。

1

下载 Iris 数据集

https://github.com/tensorflow/io/raw/master/tests/test_orc/iris.orc 下载 iris 数据集,然后上传到你的 Amazon S3 存储桶。

iris 数据集包含 3 个类别,每类 50 条记录,分别对应一种鸢尾花。共有 4 个属性:(1)花萼长度,(2)花萼宽度,(3)花瓣长度,(4)花瓣宽度,最后一列为类别标签。

2

创建外部暂存区(Stage)

使用存储 iris 数据集的 Amazon S3 存储桶创建外部暂存区(Stage)。

CREATE STAGE orc_query_stage
URL = 's3://databend-doc'
CONNECTION = (
ACCESS_KEY_ID = '<your-key-id>',
SECRET_ACCESS_KEY = '<your-secret-key>'
);
3

查询 ORC 文件

按列查询:

SELECT *
FROM @orc_query_stage
(
FILE_FORMAT => 'orc',
PATTERN => '.*[.]orc'
);

┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 花萼长度 │ 花萼宽度 │ 花瓣长度 │ 花瓣宽度 │ 种类 │
├───────────────────┼───────────────────┼───────────────────┼───────────────────┼──────────────────┤
5.13.51.40.2 │ setosa │
│ · │ · │ · │ · │ · │
5.935.11.8 │ virginica │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘

使用路径表达式查询:

SELECT $1
FROM @orc_query_stage
(
FILE_FORMAT => 'orc',
PATTERN => '.*[.]orc'
);

也可以直接查询远程 ORC 文件:

SELECT
*
FROM
'https://github.com/tensorflow/io/raw/master/tests/test_orc/iris.orc' (file_format => 'orc');
4

查询元数据

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

SELECT
METADATA$FILENAME,
METADATA$FILE_ROW_NUMBER,
*
FROM @orc_query_stage
(
FILE_FORMAT => 'orc',
PATTERN => '.*[.]orc'
);
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册