二、Hadoop 面试必背 | 三、Hive 面试必背

1. 整体架构

  1. Hadoop 三大核心:HDFS、YARN、MapReduce
  • HDFS:分布式文件存储,存海量日志、原始数据
  • YARN:资源调度与集群管理,负责分配内存 CPU、调度任务
  • MapReduce:离线计算引擎,做分布式数据处理

2. HDFS 核心

  1. NameNode、DataNode 职责
  • NameNode:管理元数据(文件目录、权限、块位置),接收客户端请求
  • DataNode:实际存储数据块,定时向 NN 上报心跳与块信息
  1. 副本机制默认 3 副本;同节点不存多副本,同机架存一份,跨机架存副本,兼顾容错与网络开销。

  2. 元数据记录文件路径、大小、权限、数据块存放位置;存于 NameNode 本地磁盘 + 内存。

  3. HDFS 适用场景适合:海量大文件、一次写入多次读取、离线冷数据;不适合:小文件过多、频繁修改、低延迟随机读写。

3. YARN 核心

  1. ResourceManager、NodeManager
  • RM:全局资源调度、接收任务申请、分配资源
  • NM:单个节点资源管理、启动容器、监控本地任务
  1. YARN 工作流程客户端提交任务 → RM 申请资源 → RM 分配节点 → NM 启动容器 → 运行 MR/Spark 任务 → 执行完毕释放资源。

4. 部署实操(你亲手搭过,直接背)

  1. 伪分布式 vs 完全分布式 伪分布式:所有进程在单台机器,适合学习测试;完全分布式:多台机器分部署 NN、DN、RM、NM,用于生产集群。

  2. 搭建伪分布式步骤配置免密登录 → 安装 JDK → 配置 Hadoop 核心配置文件 → 格式化 HDFS → 启动集群。

  3. 集群启停命令start-dfs.shstart-yarn.shstop-dfs.shstop-yarn.sh


三、Hive 面试必背

  1. Hive 是什么基于 Hadoop 的数据仓库工具,把 SQL 翻译成 MapReduce/Spark 任务,不用手写 MR,适合离线海量数据分析。

  2. Hive 和 MySQL 区别

  • Hive:面向海量离线数据、跑批任务、延迟高、不支持事务频繁增删改
  • MySQL:面向业务联机交易、低延迟、支持实时增删改、数据量偏小
  1. 内部表 与 外部表
  • 内部表:元数据和数据都由 Hive 管理,删表连数据一起删
  • 外部表:仅管理元数据,删表只删元数据,原始数据保留 工作推荐用外部表,安全不丢原始数据。
  1. 分区表 按时间 / 地区等字段划分目录,物理上分文件夹存储;作用:缩小查询扫描范围、大幅提升查询效率;常用时间分区

  2. 分桶表 按字段哈希打散分到不同文件;和分区区别:分区是目录级别 ,分桶是文件级别;适合抽样查询、大表关联优化。

  3. Hive 常用函数聚合函数、时间函数、字符串函数、行转列、开窗函数、lateral view 炸裂函数。

  4. 建表关键字comment 字段注释;partitioned by 建分区表;row format 指定分隔符。

  5. 小文件问题产生原因:任务过多、分区过小、动态分区、数据倾斜;危害:占用 NameNode 元数据内存、查询效率低;解决:合并小文件、设置任务并行度、合理分区、参数合并。

  6. Hive 简单优化分区过滤前置、避免全表扫描、大表小表 Map 端 join、合理设置并行度、合并小文件。


四、Linux & Shell 面试必背

  1. 常用命令分类目录:pwd、ls、cd、mkdir、rmdir文件:touch、cp、mv、rm -rf查看:cat、more、less、head、tail查找:grep、find进程:ps -ef、kill -9磁盘:df -h、du -sh权限:chmod、chown

  2. grep 作用过滤文本关键字,工作常用于日志筛选报错、排查异常。

  3. tail -f实时跟踪日志文件末尾,线上实时看程序运行日志、排查故障必备。

  4. 查看进程、过滤 Java 进程ps -ef 查看全量进程;搭配管道 grep java 过滤 Java 大数据进程。

  5. chmod、chownchmod 修改文件读写执行权限;chown 修改文件所属用户和用户组。

  6. 管道 | 作用把前一个命令的输出,作为后一个命令的输入;例子:ps -ef | grep java、ls -l | less。

  7. tar 打包解压-zcvf 打包压缩;-zxvf 解压;常用于日志、项目文件打包迁移。

相关推荐
boppu7 小时前
布草特殊污渍去渍剂的种类及作用
大数据·人工智能
Achou.Wang7 小时前
深入理解go语言-第5章 并发编程——Go的灵魂
大数据·算法·golang
kyriewen10 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
事变天下10 小时前
迈瑞的足球之夏:从一次救援到全球守护
大数据·科技
Revolution6111 小时前
React 组件重新渲染时,到底重新执行了什么
前端·react.js·面试
中微极客11 小时前
多智能体编排实战:CrewAI vs AutoGen(2026版)
大数据·网络·人工智能
西邮彭于晏12 小时前
图文详解:Git分支创建、合并与冲突解决|新手零门槛完整教程
大数据·git·elasticsearch
Revolution6113 小时前
第一次运行 Node.js:终端里的 JavaScript 怎样执行
后端·面试·node.js
IanSkunk13 小时前
企业AI办公落地技术拆解:从WorkBuddy任务引擎到JOTO实施路径
大数据·人工智能
上海心泾国际物流有限公司13 小时前
2024-2026年进出口报关政策五大变化
大数据·经验分享·交通物流