备注:
- job 0 :从Mysql中拖数据在hdfs中建立临时表(parquet文件)
- job 1 : 将临时表中的数据写入Hive中。
- spark 1.6的parquet压缩格式默认为gzip。
- spark 2.1的parquet压缩格式默认为snappy。
问题描述:
- Mario依赖spark 1.6时,如表A(约3GB)运行流畅,执行时间 < 15Min.
- Mario依赖spark 2.1时,如表A(约3GB)运行卡顿,执行时间>30 Min。原因是job 1会卡在最后一个task上并不断进行GC。
解决方案:
- 将spark 2.1中parquet的压缩格式由snappy改为gzip后,问题解决。
- 将spark1.6中parquet的压缩格式改为snappy,顺利执行,并未卡顿。
有待研究
- 压缩格式产生如此影响的内在机制是什么?