在开发测试阶段,如果需要一个所见即所得的交互式开发测试环境,可以使用Apache Zeppelin对接LivyServer来搭建交互式工作台。
交互式工作台优势
交互式工作台相关操作请参见使用指南,使用示例请参见github项目。交互式工作台有以下优点。
- 支持pyspark、scala/java、sql的开发调试。
- 交互式的返回结果,方便调试。
- 支持通过浏览器编写代码片段进行调试。
- 无需提交集群作业,即可访问表数据。
作业编排调度
当业务场景数据处理复杂时,需要多个作业组成一个工作流,周期性的去调度运行,作业失败需要有状态及重试等功能。目前有以下几种方案可以解决。
- 方案一:使用crontab去定时调用提交作业到LivyServer的脚本,作业依赖、作业重试、报警等。
- 方案二:自定义一个作业管理系统对接LivyServer管理,该方式可以完成业务对于作业编排和定时调度的需求。
- 方案三:使用开源的作业编排、调度和监控workflow的平台Airflow。