我使用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
有人知道这个错误的原因是什么吗?我能做些什么来防止它。任何帮助都将不胜感激。
1条答案
按热度按时间u2nhd7ah1#
当取消序列化的对象大于65536字节时会发生这种情况
如果您查看rstudio环境,您将看到df object是raw[1:65536],并且丢失了文件的一部分
你应该按照下面的代码来读:
http://chingchuan-chen.github.io/posts/2015/04/08/installations-of-rhdfs-rmr2-plyrmr-and-hbase