面试题汇总

6 篇文章 0 订阅
2 篇文章 0 订阅

spark

  1. reduceByKey和groupByKey的区别

  • reduceByKey可以自定义函数,groupByKey不可以自定义函数
  • reduceByKey可以在shuffle之前将输出数据与一个共用的key结合,先在本地进行merge操作,减少了很多不必要的数据进行数据传输造成的IO
  • reduceByKey更适合大数据上的操作

2. spark和hadoop的区别

 

3. hive中的mapjoin原理

hive中join的方式有两种MapJoin和ReduceJoin(shuffle join 或者),

  • mapJoin在map阶段进行数据的join,这样可以减少在shuffle阶段进行join时,大量数据的网络传输,起到优化的作用; 比较适用于大表和小表的关联的时候;底层原理使用了broadcast join 将小表复制到所有的map作业中。
  1. 实现方法:客户端增加需要拷贝的小文件:DistributedCache.addCacheFile();map类中set方法使用DistributedCache.getLocalCacheFiles()获取小文件的路径,并进行文件的拷贝,拷贝到各个TaskTracker的本地磁盘上
  2. Hive v0.7之后的版本已经不需要给出MapJoin的指示就进行优化。set hive.auto.convert.join=true;hive.mapjoin.smalltable.filesize=25000000这个参数用于指定了对于小表定义的阈值
  • ReduceJoin在reduce阶段进行数据的join

4. 拉链表解决的问题和实现

5.rank() over、dense_rank() over、row_number() over的使用区别

6.数据倾斜怎么处理?

现象:大多数task都执行完了,少数执行需要很长时间;程序直接报OM。数据分到每个task上不均匀,经常发生与shuffle的时候,比如:join,distinct,groupbyKey等

原因:数据本身问题:1.key本身分布不均匀;2.key设置不合理;spark使用的问题:1.shuffle并发度不够;2.算子使用不合理

解决方案:

1.数据聚合放到hive端去做,

7.spark提交之后的流程

yarn的基本原理

https://zhuanlan.zhihu.com/p/62164594

 

8.纬度表和事实表

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ashley_JIANG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值