2017-03-01 5 views
3

私はSparklyrライブラリを使用して、RからHDFSへのデータの読み書きを行っています。データの読み込みは期待どおりに動作しますが、書き込みが問題になります。Sparklyr copy_toは失敗します

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") 

エラー:誰かが同じ問題が発生したため、これを解決する方法を知って

Error: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://iacchadoopdev01.dap:8020/tmp/Rtmp2gpelH/spark_serialize_62547a7b0f9ad206fd384af04e585deb3a2636ca7b1f026943d4cc1d11c7759a.csv

ましたか?

書き込み機能がHDFS/tmpフォルダのデータを検索しているときにsdf_copy_to関数がデータを自分のlinux/tmpフォルダに保存する可能性があります。

+0

問題(おそらくそうではない)と関係があるかどうかわかりませんが、 'OVERWRITE'は小文字ではいけませんか? –

+0

お返事ありがとうございます。小文字で上書きしようとしましたが、同じエラーが発生しました。 –

+0

'table1'(Rラッパーの名前)の代わりにSpark DataFrameの名前(ここでは' 'dataframe" '?)を試してください。 –

答えて

0

私は同じ問題を抱えていました。 .csvをhdfsに入れる必要があります。 これはシェルを介して行うことができます。

sshを使用してクラスタにログインします。次に、 'put'を使って.csvをhdfsに入れます。クラスタに接続されます後のシェルで

書き込み:

HDFSのDFSのローカルファイル/ file.csvになりへのパス '「あなたが選んだのHDFSにフォルダへのパス」を入れ

次に、あなたが使用します。ファイルをロードするためのhdfsパス。

関連する問題