从构建和测试的效率说起
最近的工作总是在EMR上跑Spark的job,从代码完毕到测试完毕的过程是这样的: 1. 本地测试: 构建 -> 本地UT -> 观察分析结果,这一阶段可以发现逻辑问题 2. EMR上执行测试: 上传最新构建到S3 -> 准备EMR资源(包括计算资源和数据) -> 在EMR上执行Spark job -> 观察分析结果,这一阶段可以发现在数据量较大的情况下才出现的问题 3. Workflow集成测试(这个workflow是公司内部的一个管理job的工作流系统): 启动workflow -> 观察job状态 -> 等待workflow调度和资源分配 -> 等待workflow执行结束 -> 观察分析结果,这一阶段可以发现在workflow配置、参数等环境上的问题