从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 | 在返回结果集中是否包含 |
file_row_number | BOOLEAN | FALSE | 在返回结果集中是否包含 |
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该文章对您有帮助吗?