Apache Livy是一种通过REST接口与Spark集群轻松交互的服务。
它可以通过简单的REST接口或RPC客户端库轻松提交Spark作业或Spark代码片段,同步或异步结果检索以及Spark Context管理。
Apache Livy还简化了Spark与应用程序服务器之间的交互,从而使Spark能够用于交互式Web /移动应用程序。
其他功能包括:
长期运行的Spark上下文可以被多个客户端用于多个Spark作业
跨多个作业和客户端共享缓存的RDD或Dataframe
可以同时管理多个Spark上下文,并且Spark上下文在集群(YARN / Mesos)而不是Livy Server上运行,以实现良好的容错性和并发性
作业可以作为预编译的jar,代码片段或通过java / scala客户端API提交
- 通过安全的身份验证通信确保安全性

特性
可以从任何位置提交job:Livy支持从web或移动应用提供程序化的、容错的、多租户的spark job,而不需要依赖spark client。多个用户可以同时与spark集群交互。
可以使用交互式的Scala或Python:批处理作业可以在Scala、java、python完成
无需更改代码:使用Livy无需对程序进行更改,只需要使用Maven构建Livy,将配置文件部署到Spark集群