我使用livy将Spark用作服务。我的应用程序将一些命令发送给livy作为代码,但是,spark需要初始化一些变量(读取一些文件,制作一些map和amp; reduce操作等),这需要时间。此初始化部分对于所有会话都是通用的。在构建之后,可以向这些会话发送不同的声明。
我想知道当livy创建会话时,是否可以将旧会话行复制到图像中,还是应该从头开始创建所有内容?
提前谢谢。
答案 0 :(得分:1)
经过一些研究,Livy服务器无法实现。 Livy的唯一责任是为应用程序提供休息服务,以便在Hadoop集群中访问Spark框架。对于每个请求(无论是批处理还是会话),它都会打开一个单独的spark-shell。因此,无法克隆现有会话。
还有一个补充,我真的不喜欢livy服务器处理外部依赖的方式。生成胖罐不适合hadoop环境,因为它们有很多。但是,如果使用命令行参数实现spark应用程序,则可以通过HTTP以交互方式与Hadoop环境进行通信。