r—将Dataframe保存到hdfs后,在使用RHFS重新读取Dataframe时,尝试取消序列化时出错

uinbv5nw  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(330)

我使用rhdfs库将一个Dataframe写入hdfs,当我试图读回它时,出现了错误。
编写Dataframe的代码如下:,

df.file <- hdfs.file("/mydir/df.Rdata", "w")
hdfs.write(df, df.file)
hdfs.close(df.file)

在我使用的

df.file <- hdfs.file("/mydir/df.Rdata", "r")
m <- hdfs.read(df.file)
df <- unserialize(m)
hdfs.close(df.file)

但我在非序列化阶段出错了,

Error in unserialize(m) : read error

有人知道这个错误的原因是什么吗?我能做些什么来防止它。任何帮助都将不胜感激。

u2nhd7ah

u2nhd7ah1#

当取消序列化的对象大于65536字节时会发生这种情况
如果您查看rstudio环境,您将看到df object是raw[1:65536],并且丢失了文件的一部分
你应该按照下面的代码来读:
http://chingchuan-chen.github.io/posts/2015/04/08/installations-of-rhdfs-rmr2-plyrmr-and-hbase

相关问题