概述
本篇博客将收集总结一些,本博主面试
大数据开发工程师 岗位遇到的面试题,虽然不一定高频,但是也算经验之谈,希望对各位有所帮助。
一
1.什么是Spark RDD
RDD:弹性分布式数据集 (Resilient Distributed DataSet)。
Spark 中最基本的数据抽象是 RDD。
创建RDD方法两种: 1.Driver并行化现有的Scala集合 2.引用外部存储系统
2.Spark算子有哪些
转换算子:map、filter、flatMap、mapPartition、mapPartitionwithIndex、coalesce、repartition、union、join、 cogroup、reduceByKey、aggregateByKey(部分即可)
动作算子:reduce、collect 、first、take 、aggregate、countByKey、foreach(部分即可)
所有的转换算子都是lazy执行的,只有在动作算子触发的时候任务才会被提交,这个时候转换算子才 会真正去执行。转换算子的返回值是RDD、而动作算子的返回值可以是Unit、Array,一个任务中只 能有一个动作算子,但是允许有多个转换算子。
3.Spark 有几种部署方式
①.Local: 运行在一台机器上,通常是练手或者测试环境。
②.Standalone:构建一个基于Mster+Slaves的资源调度集群,Spark任务提交给Master运行。是Spark自身的一个调度系统。
③.Yarn: Spark客户端直接连接Yarn,不需要额外构建Spark集群。有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。
④.Mesos:国内大环境比较少用。
4.什么是kafka 架构
kafka: 开源的流处理平台,该平台提供了消息的订阅与发布的消息队列,一般用作系统间解耦、异步通信、削峰填谷等作用。
5.hive出现reduce端OOM,怎么检查问题
这种情况一般是数据倾斜
造成的,这时去查找聚合算子,修改该算子。
数据倾斜只会发生在shuffle过程中。这里给大家罗列一些常用的并且可能会触发shuffle操作的算子:distinct、groupByKey、reduceByKey、aggregateByKey、join、cogroup、repartition等。出现数据倾斜时,可能就是你的代码中使用了这些算子中的某一个所导致的。
6.什么是Hbase
HBase 是一个基于Hadoop的分布式,可扩展,巨大数据仓库.
7.Hbase的Rowkey设计原则
①.固定格式
②.不可使用随机的 UUID
③.将查询的数据作为rowKey的组成部分
8.规避Hbase热点写问题
<