SparkRでHDFSとの間で任意のファイルを読み書きする方法を理解しようとしています。セットアップSparkr HDFSでの読み取り/書き込み
は次のとおりです。
args <- commandArgs(trailingOnly = T)
MASTER <- args[1]
SPARK_HOME <- args[2]
INPATH <- 'hdfs/path/to/read/or/load/from'
OUTPATH <- 'hdfs/path/to/write/save/to'
Sys.setenv(SPARK_HOME = SPARK_HOME)
.libPaths(c(file.path(Sys.getenv('SPARK_HOME'), 'R', 'lib'), .libPaths())
library(SparkR)
sparkR.session(master = MASTER)
# How to load RData?
load(paste(INPATH, rObjects.RData, sep = '')
# How to read data?
dat <- read.csv(paste(INPATH, datafile.csv, sep = '')
# Perform operations.....
# How to write?
write.csv(dat, paste(OUTPATH, outdata.csv, sep = '')
私はこれらの手順は、シェルスクリプトで行うことができることを知っている、または同様のシステムは、例えばR、内呼び出します
system('hadoop fs -copyToLocal ...')
しかし、私は意図的にしようとしていますこれらの解決策を回避する。
スパークV 2.0.1
RのV 3.3.2
編集:。。ノート以下 コメントが、これは読書のCSVをより具体的にその質問のお得な情報duplicate--可能である(の一部私の質問)、しかし、まだ読み込まれている方法が不明確な.RDataまたはより一般的なファイルを読み書きする。
[RstudioのcsvファイルをSparkRにロードする方法]の複製がありますか?(http://stackoverflow.com/questions/32873434/how-to-load-csv-file-into-sparkr-on-rstudio) – zero323
ありがとうございます。これは、csvをdata.frame(私の質問の一部)としてロードする方法についてのより具体的な問題を解決しますが、.RDataをロードしてHDFSに書き込む方法はまだ不明です –
Sparkには適切なリーダーがなく、SparkRはファイルと対話しませんシステムに直接接続します。 – zero323