在数据科学领域,面试时常涉及到多种技术的深入理解,特别是在Hadoop、Spark、Hive和HBase等核心组件上。以下是一些可能在面试中遇到的关键知识点: Hadoop 1. HDFS(Hadoop分布式文件系统)读写流程:读取文件时,首先通过NameNode获取文件块的位置信息,然后从最近或负载较低的DataNode节点读取数据。写文件时,数据会被切分为块并复制到多个DataNode上,以实现冗余和容错。 2. HDFS故障处理:如果读取过程中某个块损坏,HDFS会自动尝试其他副本。即使DataNode挂掉,HDFS也会继续将数据块写入其他可用的DataNode,确保数据完整性。 3. NameNode启动操作:NameNode启动时加载元数据,包括文件系统命名空间和文件块信息,并进行检查点操作。 4. Secondary NameNode:辅助NameNode定期合并编辑日志(Edit Log)和名称空间镜像(FSImage),减少NameNode启动时的元数据加载时间。Secondary NameNode并非备份,而是协助主NameNode减轻负担。 5. NameNode数据安全:通过HA(高可用性)设置两个NameNode,以热备方式工作,确保NameNode故障时能快速切换。 6. HDFS脑裂问题:在NameNode HA中,如果网络分区导致两个NameNode都认为自己是主节点,就会出现脑裂问题。解决方法是通过Zookeeper等协调服务确定唯一主NameNode。 7. 小文件管理与优化:小文件过多会增加NameNode元数据管理压力,影响系统性能。可以通过归档、使用Har文件或者MapReduce的CombineFileInputFormat减少小文件数量。 8. HDFS架构:由NameNode(元数据管理)、DataNode(数据存储)和客户端组成,通过RPC通信,提供高容错性和高吞吐量的数据访问。 MapReduce 9. Map任务:Map阶段将输入数据分割成键值对,在本地处理并生成中间键值对。 10. **Reduc