Hadoop概览
了解Hadoop的发展历程、生态体系及主要组件(HDFS,YARN,MapReduce等)。这是Hadoop面试的必考点。
HDFS
- 体系结构:NameNode,DataNode,Secondary NameNode等。
- 文件块:默认块大小,erasure coding机制等。
- 读写流程:客户端读写HDFS文件的详细流程。
- 容错机制:副本机制、rack awareness、HDFS High Availability等。
YARN:
- 资源调度器:了解Capacity Scheduler与Fair Scheduler。
- NodeManager & ResourceManager:了解其角色及工作机制。
- ApplicationMaster:了解其作用和职责。
- 容错机制:了解Application Master与NodeManager的高可用实现。
MapReduce:
- Mapper & Reducer:熟悉Map和Reduce的输入输出数据类型。
- Combiner:了解Combiner的概念和作用。
- Partitioner: HashPartitioner与TotalOrderPartitioner比较。
- Shuffle:洗牌过程详解,包括Map端溢写、合并、排序及Reduce端复制等。
- 容错机制:了解MapReduce作业的Speculative Execution机制。
Hadoop生态项目:
- Hive:了解Hive架构及与Hadoop的关系,常用DDL操作和查询功能。
- HBase:了解HBase的构成及数据模型,常见操作方式(get, put, scan等)。
- Kafka:了解Kafka的架构,常用概念(topic, partition, consumer group等)和生产消费方式。
- Storm:了解Storm的基本概念(spout, bolt, topology等)和工作机制。
- Spark:了解Spark Core, Spark SQL, Spark Streaming和MLlib的主要功能及与Hadoop的对比。
实践案例
了解一些基于Hadoop的典型项目,如用户画像,推荐系统,异常检测等。掌握项目开发流程和整体架构。
总结
以上几点可以说涵盖了Hadoop的主要内容和面试考点。需要熟练理解HDFS,YARN,MapReduce等组件的工作机制,并掌握生态项目的基本功能与开发方式。除理论知识,实践项目经验也是Hadoop面试的加分项。