登徒梦
2017-07-25 08:03使用spark2.1进行mysql2hive数据同步job会卡在最后一个task上并不断GC
10备注:
- 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条回答
为你推荐
- spring boot 1.5 版本多个hive数据源,无法正常访问
- jar
- java
- spring
- tomcat
- 2个回答
- 在hive中有两个分区字段,查询的时候where 用到其中一个字段,那么最终会使用分区吗?
- sql
- 1个回答
- hive连接mysql数据库用hive命令一直带运行,什么问题?
- 数据库
- hive
- mysql
- 2个回答
- 在hive的命令行中打印启动了多少个map和reduce进程
- hive
- hadoop
- 2个回答
- 【急】hive表数据太多,普通的查询语句都用不了,求解决【应该很简单】
- 数据库
- java
- hive
- hadoop
- 大数据
- 4个回答
换一换