我想知道当我们把pxf和datanode放在同一台主机上时,greenplum pxf是否可以利用hdfs短路读取。我们做了初步测试,但是,似乎pxf没有利用短路读取。谷歌搜索之后几乎什么都没有,所以我们不确定是否遗漏了什么。我们使用greenplum6.4(社区版)、pxf5.11.2和cdh6.3。如有任何参考、建议或意见,我们将不胜感激。
8xiog9wr1#
带有hawq的pxf的旧版本实际上驻留在数据节点上,并使用短路读取。当前的pxf已更改为驻留在greenplum段主机上,并充当hdfs客户机。我认为您可以调整pxf源代码,并在短路读取的datanodes上设置pxf。但是,您可以加快hdfs<->pxf通信,但是减慢pxf<->greenplum段通信。
ttisahbt2#
正如宋玉伟所说,要利用短路hdfs读取,客户机(在本例中是pxf-jvm)必须与容纳块的数据节点共存。hawq就是这种情况,因为段与datanodes共存,而gpdb最有可能的段没有与hadoop集群一起部署。此外,hawq/pxf使用的工作分配算法考虑了数据局部性,将工作(在本例中是读取hdfs块)分配给同一位置的hawq段/pxf代理,从而最大限度地提高了hdfs读取短路的可能性。gpdb/pxf使用的功分配不再这样做,而是将hdfs数据块随机分配到segments/pxf。如果您的部署体系结构具有gpdb段和hdfs块,那么可能需要修改工作分配,以考虑数据局部性,从而最大化hdfs短路读取。
yvt65v4c3#
谢谢stanley和shivram。我们正在考虑在将来为greenplum pxf恢复此功能。但目前不支持。
3条答案
按热度按时间8xiog9wr1#
带有hawq的pxf的旧版本实际上驻留在数据节点上,并使用短路读取。当前的pxf已更改为驻留在greenplum段主机上,并充当hdfs客户机。我认为您可以调整pxf源代码,并在短路读取的datanodes上设置pxf。但是,您可以加快hdfs<->pxf通信,但是减慢pxf<->greenplum段通信。
ttisahbt2#
正如宋玉伟所说,要利用短路hdfs读取,客户机(在本例中是pxf-jvm)必须与容纳块的数据节点共存。hawq就是这种情况,因为段与datanodes共存,而gpdb最有可能的段没有与hadoop集群一起部署。
此外,hawq/pxf使用的工作分配算法考虑了数据局部性,将工作(在本例中是读取hdfs块)分配给同一位置的hawq段/pxf代理,从而最大限度地提高了hdfs读取短路的可能性。gpdb/pxf使用的功分配不再这样做,而是将hdfs数据块随机分配到segments/pxf。
如果您的部署体系结构具有gpdb段和hdfs块,那么可能需要修改工作分配,以考虑数据局部性,从而最大化hdfs短路读取。
yvt65v4c3#
谢谢stanley和shivram。我们正在考虑在将来为greenplum pxf恢复此功能。但目前不支持。