除了Hive分区过滤之外,有没有办法让PXF只选择查询中使用的列。
我有以Hive-ORC格式存储的数据,并使用pxf外部表在HAWQ中执行查询。最大的表存储在Hive中,我们无法在HAWQ中创建另一个数据副本。
谢谢 -
P.S - 查询优化器是否收集HAWQ 2.0中外部表的统计信息?
答案 0 :(得分:2)
您始终可以在HAWQ中的外部表上运行select foo from bar
类型查询。但是,如果您的问题是PXF是否实际进行列投影以避免读取所有列,则答案为否。目前,PXF将读取ORC文件中的所有列并将记录返回给HAWQ,HAWQ然后在其末尾进行投影过滤。但是,https://issues.apache.org/jira/browse/HAWQ-583正在积极开展工作,并且应该在即将推出的HAWQ版本中发布,它将列预测下推到ORC以提高ORC文件的读取性能
是的,查询优化器确实收集了外部表的统计信息,这也是由PXF处理的。但是,这仅适用于某些数据源:https://issues.apache.org/jira/browse/HAWQ-44