【发布时间】:2017-07-20 23:49:56
【问题描述】:
我正在使用 Sparklyr 库将数据从 R 读取和写入 HDFS。读取数据按预期工作,但写入会出现问题。
为了能够使用 spark_write_csv 函数,我需要将我的 R data.frames 转换为 Spark 对象。 我为此使用了 sparklyr sdf_copy_to 函数(也尝试使用 copy_to)。但是,我总是得到错误
代码:
table1 <- sdf_copy_to(sc,dataframe,OVERWRITE=TRUE)
spark_write_csv(table1, "path")
错误:
错误:org.apache.hadoop.mapred.InvalidInputException:输入路径确实 不存在: hdfs://iacchadoopdev01.dap:8020/tmp/Rtmp2gpelH/spark_serialize_62547a7b0f9ad206fd384af04e585deb3a2636ca7b1f026943d4cc1d11c7759a.csv
有人遇到过同样的问题并且知道如何解决吗?
可能的原因是 sdf_copy_to 函数将数据存储到我的 linux /tmp 文件夹中,而 write 函数正在 HDFS /tmp 文件夹中查找数据。
【问题讨论】:
-
不知道是否与问题有关(可能没有)但
OVERWRITE不应该是小写吗? -
感谢您的回复。刚刚尝试用小写覆盖,但给出了同样的错误。
-
您可以尝试使用 Spark DataFrame 的名称(此处为
"dataframe"?)而不是table1(R 包装器的名称)吗?
标签: r hadoop apache-spark sparklyr