【发布时间】:2016-05-24 03:18:30
【问题描述】:
所以这里是设置。
目前我已经初始化了两个 Spark 应用程序。我需要在它们之间传递数据(最好通过共享的 sparkcontext/sqlcontext 来查询临时表)。我目前使用 Parquet Files 进行数据帧传输,但还有其他方法吗?
MasterURL 指向同一个 SparkMaster
通过终端启动 Spark:
/opt/spark/sbin/start-master.sh;
/opt/spark/sbin/start-slave.sh spark://`hostname`:7077
Java 应用程序设置:
JavaSparkContext context = new JavaSparkContext(conf);
//conf = setMaster(MasterURL), 6G memory, and 4 cores.
SQLContext sqlContext = new SQLContext(parentContext.sc());
然后我稍后注册一个现有框架
//existing dataframe to temptable
df.registerTempTable("table");
和
SparkR
sc <- sparkR.init(master='MasterURL', sparkEnvir=list(spark.executor.memory='6G', spark.cores.max='4')
sqlContext <- sparkRSQL.init(sc)
# attempt to get temptable
df <- sql(sqlContext, "SELECT * FROM table"); # throws the error
【问题讨论】:
标签: java r apache-spark dataframe apache-spark-sql