大数据工程师面试 - 字节跳动 Hive 面试考点!

我是大数据欧老师,曾在互联网某大厂任大数据负责人,从业大数据领域近 10 年,全网粉丝 5000+,从很多候选人的面试和咨询中复盘了大数据工程师的面试全流程,如果你有求职大数据工程师的计划,欢迎找我聊一聊!

直接拿走去复习!!!

Hive 知识点(上)- HSQL 语法

  1. 什么是窗口函数?
  2. ROW_NUMBER() / RANK() / LAG() / LEAD() 的含义?
  3. RANK() 和 DENSE_RANK() 的区别?
  4. 上述窗口函数的使用场景?
  5. PARTITION / CLUSTER BY / DISTRIBUTE BY 的含义和区别?
  6. 使用 STACK 进行列转行?
  7. 使用 EXPLODE 进行行转列?

Hive 性能优化

  1. 数据倾斜的场景有哪些?
  2. 如何在 Hive 中判断数据发生了倾斜?
  3. 数据倾斜一般如何处理?
  4. Shuffle 的类型和性能优化手段?
  5. Hive 的存储格式有哪些?有什么优劣势?
#牛客在线求职答疑中心##机械人晒出你的简历##机械人的春招flag##牛客解忧铺##大数据#

解决职场真实面试问题,分享同学真实成功案例,欢迎订阅关注!

全部评论
你好,我是AI牛可乐,很高兴为你解答问题。 1. 窗口函数:窗口函数是一种特殊的函数,可以在查询中对数据进行分组和排序,然后对每个分组进行计算。 2. ROW_NUMBER():为每条记录分配唯一的序号,序号从1开始,按照记录的顺序生成。 3. RANK():为每条记录分配一个排名,排名相同的记录具有相同的排名值,排名值按照记录的顺序生成。 4. LAG():返回当前行之前的第N行的值。 5. LEAD():返回当前行之后的第N行的值。 6. RANK() 和 DENSE_RANK() 的区别:RANK() 会为排名相同的记录分配相同的排名值,而 DENSE_RANK() 会为排名相同的记录分配连续的排名值。 7. 上述窗口函数的使用场景:窗口函数常用于计算移动平均数、累计和、排名等。 8. PARTITION BY:根据指定的列对数据进行分组。 9. CLUSTER BY:根据指定的列对数据进行分组,同时按照分组后的数据进行排序。 10. DISTRIBUTE BY:根据指定的列对数据进行分发,将数据分发到不同的节点上进行处理。 11. 使用 STACK 进行列转行:STACK 函数可以将多列数据转换为单列数据,每行表示一个数据组。 12. 使用 EXPLODE 进行行转列:EXPLODE 函数可以将一行数据转换为多行数据,每行表示一个数据项。 13. Hive 性能优化:数据倾斜的场景包括 JOIN 操作、GROUP BY 操作和 ORDER BY 操作。在 Hive 中判断数据发生了倾斜的方法包括查看任务进度和查看任务日志。数据倾斜的一般处理方法包括过滤导致倾斜的键值、使用随机前缀和值拆分。Shuffle 的类型包括 Map 端 Shuffle 和 Reduce 端 Shuffle,性能优化手段包括调整 Map 和 Reduce 任务的数量、调整 Shuffle 的缓冲区大小和调整 Shuffle 的并行度。 14. Hive 的存储格式:Hive 支持多种存储格式,包括 TextFile、SequenceFile、RCFile、ORC 和 Parquet。TextFile 是 Hive 的默认存储格式,适合存储文本数据;SequenceFile 适合存储二进制数据;RCFile
1 回复
分享
发布于 02-27 21:56 此内容由AI生成

相关推荐

#美团暑期[话题]##美团暑期[话题]##美团数据开发#4.8美团数据开发一面,记录一下面经供大家参考,同时积攒人品,希望顺利OC。(25暑期转正实习)面试官人很好,整个面试过程约一小时十五分钟,非常nice,面试官全程视频,也给了我很多建议,受益匪浅,整个过程八股较少,都是穿插项目问八股,感觉面试官一直在从我会的角度深入。具体如下:1.你知道hive的窗口函数吗,窗口函数有哪些,都是干什么用的,知道lag函数吗,做什么的2.平时用Spark的时候关注过内存管理吗(没了解,面试官说可以多看看这个)3.Spark算子类型了解吗,种类和具体的算子案例4.Spark内存管理了解吗,内存管理的机制介绍一下5.Spark sql调优是怎么做的6.使用过scala语言吗,用在什么地方,在编写代码过程中有什么挑战7.spark缓存机制了解吗,有那几个函数(cache、persist)Spark缓存级别有几个,具体内容是什么8.Spark一般用在什么场景,了解Spark图计算的框架吗(这里因为我项目里有一个图计算的项目,就问了一些图计算的内容,比如用到的算法,还有一个中心度算法,可以多了解一下)9.Spark的数据倾斜问题,map-side-join,spark的spill机制,如果内存不够了要怎么办,如果手动设置了某个参数呢(这里具体的参数名忘掉了)10.SQL题,牛客SQL 16题,较难,一开始没啥思路,就把那些SQL语句都写上了,包括limit啥的,测试没跑通,刚刚想重新分析一下,面试官说没关系,题比较难,也基本上写出来了,就没让我再继续改了。之后又问了我一些问题,比如base北京能不能来,居住问题,了解美团的业务群吗,中间还问了我一些项目管理的问题,感觉都不像技术面了。整场面试感觉题目答上来百分之95吧,SQL题没做出来有点遗憾,不过感觉好像面试官不是很在意。反问问了一下base,是不是在望京那边,然后问了一下面试官对于大数据学习的一些建议,面试官建议我可以先区分一下大数据的具体内容,比如离线在线、源码开发还是数据仓库等等,然后根据具体的方向学习对应知识。最后总结一句,面试很nice,面试官也很nice,大家都说美团的面试让人感觉很好,现在看来的确如此。分享一下,积点德,希望能顺利二面然后OC
点赞 评论 收藏
转发
4 41 评论
分享
牛客网
牛客企业服务