目前,我们有一个程序,这是一个web服务,接收sql查询和使用 SQLContext
回应。程序现在处于独立模式,我们设置 spark.master
到特定的url。结构如下:
object SomeApp extends App
{
val conf = new SparkConf().setMaster("spark://10.21.173.181:7077")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
while(true)
{
val query = Listen_to_query()
val response = sqlContext.sql(query)
send(response)
}
}
现在我们要把这个系统改成Spark线,看来我们应该用 submit
把工作交给别人。在Yarn上部署这样一个不会像普通“工作”一样停止的“服务”是很奇怪的。但我们不知道如何将“工作”与我们的计划分开。
你有什么建议吗?谢谢您!
1条答案
按热度按时间fcwjkofz1#
因此,如果您只想将作业提交给yarn,只需更改主参数即可。不过,这听起来像是你正在寻找一个长期运行的共享Spark上下文和有一些类似的选择。有https://github.com/spark-jobserver/spark-jobserver 以及https://github.com/ibm-et/spark-kernel .