0

除了 Hive 分区过滤之外,有没有办法 PXF 仅选择查询中使用的列。

我有以 Hive-ORC 格式存储的数据,并使用 pxf 外部表在 HAWQ 中执行查询。最大的表存储在 Hive 中,我们无法在 HAWQ 中制作另一个数据副本。

谢谢 -

PS - 查询优化器是否收集 HAWQ 2.0 中外部表的统计信息?

4

1 回答 1

2

您始终可以select foo from bar在 HAWQ 中对外部表运行类型查询。但是,如果您的问题是 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

于 2016-09-12T17:00:47.237 回答