У меня есть сценарий R, аналогичный приведенному в примере, где вы загружаете некоторые данные из hdfs, а затем как-то их сохраняете, в данном случае через файл Parquet.
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()
Как именно получить данные из кластера в другое искровое приложение? В настоящее время я рассматриваю возможность подключения к мастеру hdfs и получения файлов в соответствии с этот пример, за исключением замены sbt-thrift на Скрудж.
Есть ли более идиоматический способ получить данные без прямого подключения к кластеру hadoop? Я подумал о копировании данных из hdfs, но parquet может читать из hadoop только из того, что я понял.