我应该使用哪些函数来处理hdfs上的xdf文件?

o2g1uqev  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(431)

我在hdfs集群上有一个.xdf文件,大约10gb,有将近70列。我想把它读入一个r对象,这样我就可以执行一些转换和操作。我试着用谷歌搜索一下,找到了两个功能:

rxReadXdf

rxXdfToDataFrame

当我想读取数据并在集群的每个节点上并行地执行转换时,有人能告诉我这方面的首选函数吗?
另外,如果我在块中读取并执行转换,是否必须合并每个块的输出?
提前谢谢你的帮助。
干杯,阿米特

o7jaxewo

o7jaxewo1#

请注意 rxReadXdf 以及 rxXdfToDataFrame 有不同的论点,做稍微不同的事情: rxReadXdf 有一个numrows参数,所以如果您想读取数据集的前1000行(比如说)就使用这个参数 rxXdfToDataFrame 支持rxtransforms,所以如果除了读取数据之外还想操作数据,请使用此选项 rxXdfToDataFrame 还有maxrowsbycols参数,这是另一种限制输入大小的方法
所以在你的情况下,你想用 rxXdfToDataFrame 因为你在读取数据的同时还要转换数据。 rxReadXdf 如果您只想读取数据(无转换),则在本地计算上下文中会快一点。对于hdfs,这可能也是正确的,但是我还没有检查这个。
但是,是否确实要将数据读入Dataframe?你可以用 rxDataStep 在xdf文件上运行(几乎)任意r代码,同时仍保留该格式的数据。有关如何使用transforms参数,请参见链接文档页。

相关问题