EMR上如何进行流式SQL调试

1.前言

正式发布了Spark Streaming SQL功能,支持使用Spark SQL进行流式数据处理。经过两个版本的迭代,不少用户反馈当使用SQL进行流式作业开发时,查询结果正确性的调试过程比较麻烦。当前,我们需要完成用户真实的数据流开发,才能在结果存储系统中查看结果是否正确。有些数据存储系统又不方便查看,例如Kafka。这里简单罗列几点不便于调试的问题:

  • 无法在控制台输出中直观看到SQL的执行结果,传统的需要在输出存储系统查看。
  • 数据是变化的:包括输入数据和输出结果都是不断变化的,无法方便看到每个批次的执行结果。
  • 每个批次执行的metrics也不方便查看,传统的需要在日志中查找。

除此外,还有一些高级功能也可以考虑到调试工具中,例如:

  • 脱离真实数据源的数据模拟功能。
  • 数据采样功能。

本文将介绍EMR提