Hive入门

1.1认识Hive

1.什么是Hive

Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,同时可以将SQL语句转化成MApReduce作业进行运行。

2.Hive的特点与优势

特点:

HQL与SQL有着相似的语法,大大提高了开发效率。

Hive支持运行不同的计算框架,包括YARN,Tez,Spark,Flink等。

Hive支持HDFS与HBase上的ad-hoc。

Hive支持用户自定义的函数,脚本等。

Hive支持Java数据库连接与开放数据库连接驱动,建立了自身与ETL,BI工具的通道。

优势:

可扩展:Hive可以自由扩展集群的规模,一般情况下无需重启服务器。

可延展:Hive支持用户自定义函数,用户可以根据自己的服务需求来编写自定义函数。

可容错:Hive良好的容错性使得节点出现问题时SQL乃可以完成执行。

1.2 Hive架构设计

1.HIve架构图

(1)Hive 客户端(Hive Clients)

(2)Hive 服务端(Hive Services)

(3)Hive 存储与计算(Hive Storage and Computing)

1.3 Hive工作流程

1.执行查询:Hive接口(如命令行或UI)通过发送查询驱动程序执行查询。

2.获取计划:在驱动程序帮助下查询编译器,并分析查询语法,查询计划以及查询要求。

3.获取元数据:编译器发送元数据请求至Metastore。

4.发送元数据:Metastore发送元数据至编译器以响应之。

5.发送计划:编译器检查查询要求,并重新发送查询计划至驱动程序;至此,查询解析与编译完成。

6.执行计划:驱动程序发送执行计划至执行引擎。

7.执行任务:执行任务的过程是完成一个MapReduce 工作的过程。执行引擎发送作业至JobTracker,JobTracker 再把作业分配到 TaskTracker;在 TaskTracker 中查询计划将执行 MapReduce工作。同时,执行引擎可以通过Metastore 执行元数据操作。

8.获取结果:执行引擎接收来自数据节点的结果。。

9.发送结果:执行引擎发送结果至驱动程序。

10.发送结果:驱动程序发送结果至 Hive接口。

1.4 Hive 适用场景

1.适用场景:


Hive 适用于非结构化数据的离线分析统计场合。
Hive 的执行延迟比较高,因此适用于对实时性要求不高的场合。
Hive的优势在于处理大数据,因此适用于大数据(而非小数据)处理的场合。

2.场景技术特点:

为超大数据集设计了计算与扩展功能。
支持 SOLlike 查询语言。
支持多表的join 操作。
支持非结构化数据的查询与计算。
提供数据存取的编程接口,支持JDBC、ODBC。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值