3

Hadoop からダウンロードされるデータに対して R コードを実行するケースがあります。次に、R コードの出力も Hadoop にアップロードされます。現在、手動で行っていますが、この手動のダウンロード/アップロード プロセスを避けたいと考えています。

hdfsに接続してRでこれを行う方法はありますか? つまり、R スクリプトの最初に Hadoop に接続してデータを読み取り、最後に出力データを再度 Hadoop にアップロードします。使えるパッケージはありますか?Hadoop サーバーまたは R で必要な変更はありますか?

重要な部分に注意するのを忘れていました: R と Hadoop は異なるサーバー上にあります。

4

2 に答える 2

0

パッケージ rmr2 をインストールすると、from.dfs関数のオプションが表示されます。これにより、以下で説明するように、HDFS からデータを取得するという要件を解決できます。

input_hdfs <- from.dfs("path_to_HDFS_file",format="format_columns")

結果を HDFS に保存するには、次のようにします。 write.table(data_output,file=pipe(paste('hadoop dfs -put -', path_to_output_hdfs_file, sep='')),row.names=F,col.names=F,sep=',',quote=F)

(または) rmr2 to.dfs関数を使用して、HDFS に保存することができます。

于 2015-10-13T22:14:01.057 に答える
0

それで...これに対する解決策を見つけましたか?

数ヶ月前、私は同じ状況に出くわしました。Revolution Analytics パッケージをしばらくいじった後、R と Hadoop が異なるサーバー上にある状況で機能する方法を見つけることができませんでした。

当時はうまくいったwebHDFSを使用してみました。ここでwebhdfsアクセス用のRパッケージを見つけることができます

このパッケージは、実行する必要がある CRAN では利用できません。

devtools::install_github(c("saurfang/rwebhdfs"))

(ええ... devtools パッケージが必要になります)

于 2015-11-27T09:50:31.570 に答える