Greenplum PXF是否支持HDFS短路读?

Does Greenplum PXF support HDFS short circuit read?

我想知道当我们将pxf和datanode放在同一台主机上时,Greenplum PXF是否可以利用HDFS短路读取。 我们做了初步测试,但是,pxf 似乎没有利用短路读取。谷歌搜索后几乎什么都没有,所以我们不确定是否遗漏了什么。 我们使用 Greenplum 6.4(社区版)、pxf 5.11.2 和 CDH 6.3。

非常感谢任何参考、建议或评论。

带hawq的旧版PXF实际上是驻留在数据节点上,利用短路读取。 当前的 PXF 已更改为与 Greenplum 段主机一起驻留,并且充当 hdfs 客户端。 我认为您可以通过短路读取调整 pxf 源代码并在数据节点上设置 pxf。但是,你加速了hdfs<->pxf通信,却减慢了pxf<->greenplum段通信。

正如 Sung Yu Wei 所说,要利用短路 hdfs 读取,客户端(在本例中为 pxf jvm)必须与容纳块的数据节点位于同一位置。 hawq 就是这种情况,因为段与数据节点位于同一位置,而对于 gpdb,它最有可能的段没有与 hadoop 集群一起部署。

此外,hawq/pxf 使用的工作分配算法考虑了数据局部性以将工作(在这种情况下读取 hdfs 块)分配给位于同一位置的 hawq segments/pxf 代理,从而最大限度地提高了短路 hdfs 读取。 gpdb/pxf 使用的工作分配不再这样做,而是将 hdfs 数据块随机分配到 segments/pxf。

如果您的部署架构具有 gpdb 段和 hdfs 块并置,则可能值得修改工作分配以考虑数据局部性以最大化 hdfs 短路读取。

感谢 Stanley 和 Shivram。我们正在考虑将来为 Greenplum PXF 恢复此功能。但暂时不支持。