我在 HDFS 集群上有一个 .xdf 文件,大约 10 GB,有近 70 列。我想将它读入一个 R 对象,以便我可以执行一些转换和操作。我试着用谷歌搜索它并提出了两个功能:
rxReadXdf
rxXdfToDataFrame
谁能告诉我首选的功能,因为我想读取数据并在集群的每个节点上并行执行转换?
此外,如果我以块的形式读取和执行转换,是否必须合并每个块的输出?
提前感谢您的帮助。
干杯,阿米特
我在 HDFS 集群上有一个 .xdf 文件,大约 10 GB,有近 70 列。我想将它读入一个 R 对象,以便我可以执行一些转换和操作。我试着用谷歌搜索它并提出了两个功能:
rxReadXdf
rxXdfToDataFrame
谁能告诉我首选的功能,因为我想读取数据并在集群的每个节点上并行执行转换?
此外,如果我以块的形式读取和执行转换,是否必须合并每个块的输出?
提前感谢您的帮助。
干杯,阿米特
请注意,rxReadXdf
并rxXdfToDataFrame
有不同的论点,做的事情略有不同:
rxReadXdf
有一个 numRows 参数,所以如果你想读取数据集的前 1000 行(比如说),请使用它rxXdfToDataFrame
支持rxTransforms,所以如果你想在读取数据的同时操作数据,请使用它rxXdfToDataFrame
还有 maxRowsByCols 参数,这是另一种限制输入大小的方法因此,在您的情况下,您想要使用它,rxXdfToDataFrame
因为除了读取数据之外,您还要转换数据。rxReadXdf
如果您只想读取数据(无转换),则在本地计算上下文中会更快一些。HDFS 可能也是如此,但我还没有检查过。
但是,您确定要将数据读入数据框中吗?您可以使用rxDataStep
在 xdf 文件上运行(几乎)任意 R 代码,同时仍以该格式保留数据。有关如何使用转换参数的信息,请参阅链接的文档页面。