2015-08-10 2 views
3

В R Я создал два набора данных, которые я сохранены в виде CSV-файлов с помощьюЗагрузка CSV-файлов в sparkR

liste <-write.csv(liste, file="/home/.../liste.csv", row.names=FALSE) 
    data <- write.csv(data, file="/home/.../data.csv", row.names=FALSE) 

Теперь я хочу, чтобы открыть эти файлы в формате CSV SparkR. Так что я типа

liste <- read.df(sqlContext, "/home/.../liste.csv", "com.databricks.spark.csv", header="true", delimiter= "\t") 

data <- read.df(sqlContext, "/home/.../data.csv", "com.databricks.spark.csv", header="true", delimiter= "\t") 

Оказывается, что один набор данных «Liste» успешно загружен в SparkR, однако, «данные» не могут быть загружены по каким-то странным причинам.

«liste» - это просто вектор чисел в R, тогда как «data» - это data.frame. Я загрузил в R и удалил некоторые части data.frame. SparkR дает мне эту ошибку-сообщение:

Error: returnStatus == 0 is not TRUE

+0

Набор данных 'liste' может быть загружен успешно в sparkR. В R 'liste' есть вектор 2,3,4,6,9, ... Но 'data' - это csv-файл, который я загрузил в R и внес некоторые изменения. Я сохраняю его как csv-файл, а затем пытаюсь загрузить его в SparkR, который я не могу сделать. –

+0

Файл csv, загруженный в R, составлял около 2 ГБ. Я просто сделал несколько изменений и сохранил их как новый csv-файл с именем «data», но этот csv-файл составляет всего около 33 КБ, что мало. Я нашел это очень странным. –

ответ

2

Liste является локальный список, который может быть записан с write.csv данные являются SparkR DataFrame, которые не могут быть написаны с write.csv: он пишет только свой указатель , а не DataFrame. Вот почему это только 33 kb

+0

Спасибо за ответ. Как я мог затем сохранить его, чтобы я мог загрузить его в sparkR и угрожать ему как DataFrame? –

+0

Я могу сохранить его в паркет: write.df (данные, «данные» .json »,« паркет »,« переписать ») или saveAsParquetFile (данные,« данные »), а затем вы можете прочитать файл паркета. –

Смежные вопросы