如何保持或检查 Apache Livy 连接?

How to keep or check Apache Livy connection?

众所周知,创建 Apache Livy 连接的成本很高。它将创建新的应用程序并上传任务文件。

我的情况是用户可以使用我的网站 Api 和 Java 编写提交作业,然后我使用 Apache Livy Client 将作业提交到 spark。

我想保留一个或固定数量的 Livy 客户端实例,并且我可以检查连接池等客户端状态。

如果您的工作是一个有限的工作单元,那么您应该使用 Livy 的 Batch 抽象而不是 SessionSessions 用于交互式工作(例如,Jupyter Notebook 或 Apache Zeppelin),用户可以在其中提交一些查询,评估结果,然后提交更多。另一方面,Batch 与您通常使用 spark-submit 可执行文件提交的内容最相似;它也会在工作任务完成后自行结束,并自行清理,因此不需要连接池。也就是说,连接池对于 Session 没有什么意义,因为每个会话都有一个状态(在过去的语句中定义的变量 运行 在所述会话中),并且该状态不是(并且应该'被)共享