栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

大数据(3j)Sqoop生产经验

大数据(3j)Sqoop生产经验

文章目录
  • 增量同步遇到的坑
  • 并行度
  • 列式存储导出问题
  • Sqoop数据导出一致性问题

增量同步遇到的坑
  • 业务系统手动导入数据,导入的时间使用了历史时间而不是插入时间
并行度
  • Sqoop的底层运行任务是MR中的Map,没有Reduce阶段的任务,默认4个MapTask

  • 数据导入时,建议并行度设为1:--num-mappers 1

  • 并行度>1时,会产生多个文件

  • 数据量较大时,可以增加并行度,并指定切分的键:--split-by

列式存储导出问题
问题描述:
数仓表采用列式存储,Sqoop导出时可能出问题
解决方案:
1、ads层数据量不多,不采用列式存储(首选)
2、创建 常规存储的 临时表,再导出
Sqoop数据导出一致性问题
场景:
Sqoop导出HIVE到到MySQL时,使用4个MapTask,过程中有2个任务失败,那此时MySQL中存储了另外两个Map任务导入的数据
原因:
Sqoop将导出过程分解为多个事务
解决方案:
添加 --staging-table选项,指定 表名,这是个辅助表,使得阶段数据最终在单个事务中移动到目标表
--staging-table app_xxx_tmp 
--clear-staging-table 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/460359.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号