FORMAT 'TEXT' (delimiter=E',');
8、gp访问RCFile格式的Hive表
PXF HiveRC配置文件提供对RCFile数据的访问
示例:使用HiveRC配置文件查询Hive表中的RCFile格式的数据。
(1)启动hive命令行并创建一个以RCFile格式存储的Hive表:
hive> CREATE TABLE sales_info_rcfile (location string, month string,
number_of_orders int, total_sales double)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS rcfile;
(2)将sales_info表中的数据插入到sales_info_rcfile:
hive> INSERT INTO TABLE sales_info_rcfile SELECT * FROM sales_info;
样本数据集的副本现在以Hive sales_info_rcfile表格中的RCFile格式存储。
(3)查询sales_info_rcfileHive表以验证数据是否正确加载:
hive> SELECT * FROM sales_info_rcfile;
(4)使用PXF HiveRC配置文件创建一个可读的Greenplum数据库外部表,引用sales_info_rcfile您在前面的步骤中创建的Hive 表。
你必须在LOCATION和FORMAT子句中指定一个分隔符。
gp=# CREATE EXTERNAL TABLE salesinfo_hivercprofile(location text, month text, num_orders int, total_sales float8)
LOCATION ('pxf://default.sales_info_rcfile?PROFILE=HiveRC&DELIMITER=\x2c')
FORMAT 'TEXT' (delimiter=E',');
(5)查询外部表格:
gp=# SELECT location, total_sales FROM salesinfo_hivercprofile;
9、gp访问ORC格式的Hive表
优化的行列(ORC)文件格式是列式文件格式,它提供了一种高效的方式来存储和访问HDFS数据。
在压缩和性能方面,ORC格式改进了文本和RCFile格式。
PXF支持ORC版本1.2.1。
-----gp支持ORC文件格式的配置文件的一些限制条件------
选择支持ORC的配置文件时,请考虑以下几点:
1)HiveORC配置文件:
一次读取一行数据。
支持列投影。
支持复杂的类型。您可以访问由数组,地图,结构和联合数据类型组成的Hive表。PXF序列化每个这些复杂的类型text。
2)HiveVectorizedORC配置文件:
一次最多可读取1024行数据。
不支持列投影。
不支持复杂类型或时间戳数据类型。
注意:HiveORC和HiveVectorizedORC配置文件当前不支持谓词下推。
(1)示例:使用HiveORC配置文件查询Hive表中的ORC格式的数据
gp外部表如下:
gp=> CREATE EXTERNAL TABLE salesinfo_hiveORCprofile(location text, month text, num_orders int, total_sales float8)
LOCATION ('pxf://default.sales_info_ORC?PROFILE=HiveORC')
FORMAT 'CUSTOM' (formatter='pxfwritable_import');
(2)示例:使用HiveVectorizedORC配置文件查询Hive表中的ORC格式的数据
gp外部表如下:
gp=> CREATE EXTERNAL TABLE salesinfo_hiveVectORC(location text, month text, num_orders int, total_sales float8)
LOCATION ('pxf://default.sales_info_ORC?PROFILE=HiveVectorizedORC')
FORMAT 'CUSTOM' (formatter='pxfwritable_import');
10、gp访问Parquet格式的Hive表
定义Greenplum数据库外部表格:
gp=# CREATE EXTERNAL TABLE pxf_parquet_table (location text, month text, number_of_orders int, total_sales double precision)
LOCATION ('pxf://default.hive_parquet_table?profile=Hive')
FORMAT 'CUSTOM' (formatter='pxfwritable_import');