Hive 初识

What - Hive


hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。

Why - Hive

Hive最初是Facebook为了满足对海量社交网络数据的管理和机器学习的需求而产生和发展的。大数据是现在互联网的趋势,而hadoop就是大数据时代里的核心技术,但是hadoop的mapreduce操作专业性太强,所以facebook在这些基础上开发了hive框架,业务人员在不学习编程语言的情况下,只要学会基本的SQL语句,就可以对大数据平台的数据进行分析。


How - Hive

在hadoop集群中,安装配置好hive,就可以在命令行中直接输入hive,进入hive客户端
接下来的操作就和操作数据库的SQL几乎一样。具体操作将在后面的文章里进行介绍。

Hive - 优缺点


优点:

  • 简单容易上手:提供了类SQL查询语言HQL
  • 可扩展:为超大数据集设计了计算/扩展能力(MR作为计算引擎,HDFS作为存储系统,Yarn作为资源调度)
  • 提供统一的元数据管理
  • 延展性:Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数
  • 容错:良好的容错性,节点出现问题SQL仍可完成执行
  • 支持用户自定义函数

缺点:

  • hive的HQL表达能力有限
  • hive的效率比较低(后面可用spark计算框架代替Hive分析)
  • hive调优比较困难,粒度较粗

Hive - 架构

Architecture-of-Apache-Hive.jpg