【问题标题】:Loading csv-files in sparkR在 sparkR 中加载 csv 文件
【发布时间】:2015-08-10 07:11:11
【问题描述】:

在 R 中,我创建了两个数据集,我通过

将它们保存为 csv 文件
liste <-write.csv(liste, file="/home/.../liste.csv", row.names=FALSE)
    data <- write.csv(data, file="/home/.../data.csv", row.names=FALSE)

我现在想在 SparkR 中打开这些 csv 文件。所以我输入

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

事实证明,在 SparkR 中成功加载了一个数据集 'liste',但是,由于某些奇怪的原因,无法加载 'data'。

'liste' 只是 R 中的数字向量,而 'data' 是我在 R 中加载并删除了 data.frame 的某些部分的 data.frame。 SparkR 给了我这个错误信息:

错误:returnStatus == 0 不是 TRUE

【问题讨论】:

  • 数据集'liste'可以在sparkR中成功加载。在 R 中,'liste' 是一个向量 2,3,4,6,9,... 但 'data' 是我在 R 中加载并进行一些更改的 csv 文件。我将其保存为 csv 文件,然后尝试将其加载到 SparkR 中,但我无法做到。
  • 我在 R 中加载的 csv 文件大约 2GB。我只是做了一些更改并将其保存为名为“数据”的新 csv 文件,但这个 csv 文件只有大约 33 KB,很小。我觉得这很奇怪。

标签: r sparkr


【解决方案1】:

Liste 是一个本地列表,可以用 write.csv 写入,data 是一个 SparkR DataFrame,不能用 write.csv 写入:它只写入其指针,而不写入 DataFrame。这就是为什么它只有 33 kb

【讨论】:

  • 感谢您的回复。然后我怎么能保存它,以便我可以在 sparkR 中加载它并像 DataFrame 一样威胁它?
  • 我可以将它保存到镶木地板:write.df(data,"data".json","parquet","overwrite") 或 saveAsParquetFile(data, "data") 稍后你可以读取 parquet 文件。
猜你喜欢
  • 2015-12-28
  • 2015-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多