0

例に似た 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()

クラスターから別の Spark アプリケーションにデータを取得するにはどうすればよいですか? 現在、sbt-thrift をscroogeに置き換えることを除いて 、hdfs マスターに接続し、この例に従ってファイルを取得することを検討しています。

Hadoop クラスターに直接接続せずにデータを取得する、より慣用的な方法はありますか? hdfs からデータをコピーすることを検討しましたが、parquet は私が理解していることから Hadoop からしか読み取ることができません。

4

1 に答える 1

0

SparkContextマスターで開始し、データを取得するためにlocal使用します。SparkSQL

于 2015-08-18T10:52:42.793 に答える