Hive 入门实践
写 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 格式选择建议
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 谜思录!