1.前言
从EMR-3.21.0版本开始,EMR正式发布了Spark Streaming SQL功能,支持使用Spark SQL进行流式数据处理。经过两个版本的迭代,不少用户反馈当使用SQL进行流式作业开发时,查询结果正确性的调试过程比较麻烦。当前,我们需要完成用户真实的数据流开发,才能在结果存储系统中查看结果是否正确。有些数据存储系统又不方便查看,例如Kafka。这里简单罗列几点不便于调试的问题:
- 无法在控制台输出中直观看到SQL的执行结果,传统的需要在输出存储系统查看。
- 数据是变化的:包括输入数据和输出结果都是不断变化的,无法方便看到每个批次的执行结果。
- 每个批次执行的metrics也不方便查看,传统的需要在日志中查找。
除此外,还有一些高级功能也可以考虑到调试工具中,例如:
- 脱离真实数据源的数据模拟功能。
- 数据采样功能。
本文将介绍EMR提