【大数据面试】sqoop:空值、数据一致性、列式存储导出、数据量、数据倾斜...

一、有没有遇到过问题,怎么进行解决的

1、空值问题

本质:hive底层存储空数据使用\n《==》MySQL存储空数据使用null

解决:双向导入均分别使用两个参数☆,之前讲过

2、数据一致性问题

Hive            ==》         MySQL

           默认是4个map

       2个成功,2个失败

原则:数据可以没有,但不能有错误

原因:数仓是为决策使用的

保证数据一致性的参数:--staging

3、ads层是parquet列式存储/ORC   ==》  导出到MySQL,能否导出成功

直接导入,不能成功

导入失败,抛异常

解决:

parquet列式存储/ORC   ==》 textfile临时表   ==》 MySQL

或:parquet列式存储/ORC   +     列式存储的参数   ==》 MySQL

推荐:ads层不要建列式存储表【一张表,每天一条数据】

4、sqoop每天向hdfs导入多少数据【举一反三】

每天100w日活跃量,sqoop导入的业务数据

普通的日常消费品电商,10w条订单,每人每天产生10条【业务数仓10条,行为数仓100条】

10w订单*10条=1G数据量

5、面试官公司比较大,sqoop导入数据时,发生了数据倾斜【map分配不均匀】,如何解决

解决:nume-mappers,默认4个map,可以尝试增加map数

或:按照某一列来切分表的工作单元,即通过ROWNUM(),生成一个严格均匀分布的字段

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值