写 MapReduce 太繁琐了。Hive 让你用熟悉的 SQL 语法查询 HDFS 上的海量数据,大大降低大数据门槛。

一、Hive 是什么

  • 1.1 数据仓库工具——不是数据库
  • 1.2 SQL → MapReduce 的翻译器
  • 1.3 适用场景——离线批处理,不适用 OLTP
  • 1.4 Hive 与 MySQL 的本质区别

二、数据模型

  • 2.1 Database——命名空间
  • 2.2 Table——逻辑表,数据在 HDFS
  • 2.3 Partition——目录级分区
  • 2.4 Bucket——文件级分桶

三、建表与加载数据

  • 3.1 内部表 vs 外部表
  • 3.2 ROW FORMAT——分隔符定义
  • 3.3 PARTITIONED BY——分区表
  • 3.4 LOAD DATA——从文件加载

四、常用查询

  • 4.1 SELECT / WHERE / GROUP BY
  • 4.2 JOIN——Map Join vs Reduce Join
  • 4.3 窗口函数——ROW_NUMBER() / RANK()
  • 4.4 排序——ORDER BY vs SORT BY

五、文件格式

  • 5.1 TextFile——文本格式
  • 5.2 ORC——列式存储+压缩
  • 5.3 Parquet——另一种列式格式
  • 5.4 格式选择建议