在开发测试阶段,如果需要一个所见即所得的交互式开发测试环境,可以使用Apache Zeppelin对接LivyServer来搭建交互式工作台。

交互式工作台优势

交互式工作台相关操作请参见使用指南,使用示例请参见github项目。交互式工作台有以下优点。

  • 支持pyspark、scala/java、sql的开发调试。
  • 交互式的返回结果,方便调试。
  • 支持通过浏览器编写代码片段进行调试。
  • 无需提交集群作业,即可访问表数据。

作业编排调度

当业务场景数据处理复杂时,需要多个作业组成一个工作流,周期性的去调度运行,作业失败需要有状态及重试等功能。目前有以下几种方案可以解决。
  • 方案一:使用crontab去定时调用提交作业到LivyServer的脚本,作业依赖、作业重试、报警等。
  • 方案二:自定义一个作业管理系统对接LivyServer管理,该方式可以完成业务对于作业编排和定时调度的需求。
  • 方案三:使用开源的作业编排、调度和监控workflow的平台Airflow。
    说明 Airflow的使用操作请参见使用指南,Airflow的LivyServer插件使用示例请参见github项目