Sparklyr copy_to失败

时间:2017-03-01 15:11:31

标签: r hadoop apache-spark sparklyr

我正在使用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文件夹中查找数据。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。您需要将.csv放入hdfs。 你可以通过shell来做到这一点。

您通过ssh登录到您的群集。然后你使用&#39; put&#39;将.csv放入hdfs。

连接到群集后写入shell:

hdfs dfs&#39;本地文件/ file.csv的路径&#39;将您所选择的hdfs文件夹中的路径放入&#39;

然后您将使用hdfs路径加载文件。