背景
每个公司应该都有大数据的平台的吧,平台的作用就是可以在上面执行各种spark sql以及定时任务,不过一般来说,由于这些spark sql的上线不经过测试,所以可能会影响到生产的数据,这种情况下大数据平台提供一个上线前的调试功能也就非常好了
spark sql上线前的调试工作
我们写spark sql主要是用来查询其他hive表的数据,经过数据清洗等操作后写入自己的hive目标表,但是我们hive的目标表也可能也在被别人使用,所以当我们修改spark sql后应用到hive目标表的时候风险就极大,一旦我们的hive目标表数据错误,极有可能影响到下游的任务,导致一连串的数据问题,此时,问题就来了,我怎么在修改spark sql但是正式写到hive目标表之前先看一下数据?
其实意识到这个问题后,解决的方式就显得很简单了。我们可以在spark sql修改后但是上线之前的调试阶段把结果数据先写入一张临时的hive表,等确认这张临时的hive表的数据是正确之后,再正式上线这个修改的spark sql语句。那如何把hive目标表替换成临时的hive表呢?其实对于spark sql来说也很简单,我们只需要识别insert into 后面的hive目标表即可,知道hive目标表后我们把它替换成临时hive表,问题既可得到解决。