从 R 代码保存数据
Save data from R code
我稍微调整了 spark 中的示例以在 ec2 集群上工作
通过高清文件系统。但我只得到了保存到的示例
镶木地板文件。
library(SparkR)
# Initialize SparkContext and SQLContext
sc <- sparkR.init()
sqlContext <- sparkRSQL.init(sc)
# Create a simple local data.frame
localDF <- data.frame(name=c("John", "Smith", "Sarah"), age=c(19, 23, 18))
# Create a DataFrame from a JSON file
peopleDF <- jsonFile(sqlContext, file.path("/people.json"))
# Register this DataFrame as a table.
registerTempTable(peopleDF, "people")
# SQL statements can be run by using the sql methods provided by sqlContext
teenagers <- sql(sqlContext, "SELECT name FROM people WHERE age >= 13 AND age <= 19")
# Store the teenagers in a table
saveAsParquetFile(teenagers, file.path("/teenagers"))
# Stop the SparkContext now
sparkR.stop()
当我使用 saveDF
而不是 saveAsParquetFile
时,我只得到一个
hdfs 中的空文件。
drwxr-xr-x - root supergroup 0 2015-07-23 15:14 /teenagers
如何将我的数据框存储为文本文件 (json/csv/...)?
火花2.x
Spark 2.0 或更高版本内置 csv
writer,无需外部依赖:
write.df(teenagers, "teenagers", "csv", "error")
火花1.x
您可以使用 spark-csv
:
Sys.setenv('SPARKR_SUBMIT_ARGS' =
'"--packages" "com.databricks:spark-csv_2.10:1.1.0" "sparkr-shell"')
sqlContext <- sparkRSQL.init(sc)
... # The rest of your code
write.df(teenagers, "teenagers", "com.databricks.spark.csv", "error")
在交互模式下,您已使用 --packages
:
启动 SparkR shell
bin/sparkR --packages com.databricks:spark-csv_2.10:1.1.0
我稍微调整了 spark 中的示例以在 ec2 集群上工作 通过高清文件系统。但我只得到了保存到的示例 镶木地板文件。
library(SparkR)
# Initialize SparkContext and SQLContext
sc <- sparkR.init()
sqlContext <- sparkRSQL.init(sc)
# Create a simple local data.frame
localDF <- data.frame(name=c("John", "Smith", "Sarah"), age=c(19, 23, 18))
# Create a DataFrame from a JSON file
peopleDF <- jsonFile(sqlContext, file.path("/people.json"))
# Register this DataFrame as a table.
registerTempTable(peopleDF, "people")
# SQL statements can be run by using the sql methods provided by sqlContext
teenagers <- sql(sqlContext, "SELECT name FROM people WHERE age >= 13 AND age <= 19")
# Store the teenagers in a table
saveAsParquetFile(teenagers, file.path("/teenagers"))
# Stop the SparkContext now
sparkR.stop()
当我使用 saveDF
而不是 saveAsParquetFile
时,我只得到一个
hdfs 中的空文件。
drwxr-xr-x - root supergroup 0 2015-07-23 15:14 /teenagers
如何将我的数据框存储为文本文件 (json/csv/...)?
火花2.x
Spark 2.0 或更高版本内置 csv
writer,无需外部依赖:
write.df(teenagers, "teenagers", "csv", "error")
火花1.x
您可以使用 spark-csv
:
Sys.setenv('SPARKR_SUBMIT_ARGS' =
'"--packages" "com.databricks:spark-csv_2.10:1.1.0" "sparkr-shell"')
sqlContext <- sparkRSQL.init(sc)
... # The rest of your code
write.df(teenagers, "teenagers", "com.databricks.spark.csv", "error")
在交互模式下,您已使用 --packages
:
bin/sparkR --packages com.databricks:spark-csv_2.10:1.1.0