read_parquet

Parquet文件中读取数据。

语法

setof record read_parquet (text path , binary_as_string BOOLEAN DEFAULT FALSE, filename BOOLEAN DEFAULT FALSE, file_row_number BOOLEAN DEFAULT FALSE, hive_partitioning BOOLEAN DEFAULT FALSE, union_by_name BOOLEAN DEFAULT FALSE)

参数

参数名称

类型

默认值

描述

path

TEXT

N/A

Parquet文件的路径。路径写法参见URL格式

binary_as_string

BOOLEAN

FALSE

如由旧版写入程序生成的Parquet文件未正确设置字符串的UTF8标志,导致字符串列被加载为BLOB。将此设置为TRUE以将二进制列加载为字符串。

filename

BOOLEAN

FALSE

在返回结果集中是否包含filename列。

file_row_number

BOOLEAN

FALSE

在返回结果集中是否包含file_row_number列。

hive_partitioning

BOOLEAN

FALSE

是否把路径解析为Hive分区路径

union_by_name

BOOLEAN

FALSE

多个模式的列是否应该通过名称统一,而不是通过位置。

返回值

返回一组数据记录。

描述

  • read_parquet函数可从Parquet文件中读取数据。

  • 返回的列名称和类型由Parquet文件定义。

示例

--- 读取 iris.parquet 文件
SELECT count("sepal.length") FROM read_parquet('oss://<access_key>:<secret_key>@<endpoint-internal>/<bucket>/path_to/file.parquet') AS ("sepal.length" FLOAT);

 count 
-------
   150

--- 文件添加行号
SELECT * FROM read_parquet('oss://<access_key>:<secret_key>@<endpoint-internal>/<bucket>/path_to/file.parquet', file_row_number => true) AS ("sepal.length" FLOAT, file_row_number integer) ;

 sepal.length | file_row_number 
--------------+-----------------
          5.1 |               0
          4.9 |               1
          4.7 |               2
          4.6 |               3
            5 |               4