前言

第一次听说Hive的时候,我是两个数据仓库项目的顾问。其中一个项目已经开发了6个月。我们的团队有12名顾问,但是进展甚微。源数据库是关系型的,但是由于某些未知原因,所有的约束(例如主键和外键参照关系)都被关闭了。总而言之,这样的源数据库实际上是非关系型的,而我们的团队则努力将这样的数据迁移到高度结构化的数据仓库中。我们努力解决空值问题并构建约束,还纠结于主数据管理问题和数据质量问题。该项目最终的目标就是建立一个数据仓库,重建早已经有的报表。

第二个项目的规模相对较小,但是涉及层级关系。例如,电视机有品牌名称、存货单位(SKU)、产品代码和数量各异的其他描述性特征。这些特征中有一些是动态的,而另一些则可适用于一个或多个不同的产品或品牌。各个品牌在特征的层次结构上都有所不同。同样,我们努力在一个关系型数据仓库中描述这些业务需求。

第一个项目所面临的困难体现在从一个模式迁移到另一个模式时。这个问题必须在任何人提出任何疑问之前解决,即便这样,这些疑问也必须提前知晓。第二个项目的困难则出现在表达那些无法与既有的数据结构融合的业务规则时。我们最终让客户更改了他们的业务规则,以适应该结构。

当我第一次将文件复制到HDFS并且在该文件之上创建Hive表时,我为这种解决方案的简单易用以及它对数据分析的深远影响而赞叹不已。从那时起,我见过一些使用Hive的数据项目从设计到拥有真正的分析价值仅需几周时间,而使用传统方法则要花费数月。对于数据驱动型公司和那些需要解决关键业务问题的公司而言,Hive和更庞大的Hadoop生态系统确实是规则的改变者。

本书的目的就是带你体验我所经历过的顿悟时刻,旨在为你打牢基础,进而探索和体验Hive和Hadoop所提供的功能,帮助你踏上技术之旅,学习在未来十年甚至更长一段时间里驱动创新能力的技术。要在技术领域生存,你必须不断重塑自我,因为技术是不断向前发展的。现在,这列火车即将启程,欢迎乘坐!

目录

  • 前言
  • 致谢
  • 第1章 为Hive打好基础:Hadoop 
  • 第2章 Hive简介
  • 第3章 Hive架构
  • 第4章 Hive表DDL
  • 第5章 数据操作语言
  • 第6章 将数据装载到Hive
  • 第7章 查询半结构化数据
  • 第8章 Hive分析
  • 第9章 Hive性能调优
  • 第10章 Hive的安全性
  • 第11章 Hive的未来
  • 附录A 建立大数据团队
  • 附录B Hive函数