我想知道sparkR是否更容易合併大數據集而不是「常規R」?我有12個csv文件,大約500,000行40列。這些文件是2014年的月度數據。我想爲2014年製作一個文件。這些文件都具有相同的列標籤,我希望按第一列(年)合併。但是,有些文件比其他文件有更多的行。使用sparkR合併大數據集
當我運行下面的代碼:
setwd("C:\\Users\\Anonymous\\Desktop\\Data 2014")
file_list <- list.files()
for (file in file_list){
# if the merged dataset doesn't exist, create it
if (!exists("dataset")){
dataset <- read.table(file, header=TRUE, sep="\t")
}
# if the merged dataset does exist, append to it
if (exists("dataset")){
temp_dataset <-read.table(file, header=TRUE, sep="\t")
dataset<-rbind(dataset, temp_dataset)
rm(temp_dataset)
}
}
[R墜毀。
當我運行這段代碼:
library(SparkR)
library(magrittr)
# setwd("C:\\Users\\Anonymous\\Desktop\\Data 2014\\Jan2014.csv")
sc <- sparkR.init(master = "local")
sqlContext <- sparkRSQL.init(sc)
Jan2014_file_path <- file.path('Jan2014.csv')
system.time(
housing_a_df <- read.df(sqlContext,
"C:\\Users\\Anonymous\\Desktop\\Data 2014\\Jan2014.csv",
header='true',
inferSchema='false')
)
我得到了以下錯誤:
Error in invokeJava(isStatic = TRUE, className, methodName, ...) :
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 1 times, most recent failure: Lost task 0.0 in stage 0.0 (TID 0, localhost):
那麼這將是在sparkR合併這些文件一個簡單的方法?
你讀過[this](http://stackoverflow.com/questions/23169645/r-3-0-3-rbind-multiple-csv-files)嗎?在第一節中,'file_list'csv文件中的所有文件是? –
你說你想「按第一列合併」,但在你的示例代碼中,你連接了來自不同文件的行。下面的答案(在撰寫本文時)是關於合併=連接,而不是連接。 – kasterma
請問下面有答案,回答你的問題?如果是,請接受答案。這可能有助於其他開發人員 – sag