使用spark2.1进行mysql2hive数据同步job会卡在最后一个task上并不断GC 10C

备注:

  • 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,顺利执行,并未卡顿。

有待研究

  • 压缩格式产生如此影响的内在机制是什么?

2个回答

thanks,我先试试看。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问