09.大数据之Hive基本概念

Hive是一个建立在Hadoop上的数据仓库工具,提供了SQL接口进行数据查询和分析。它将SQL语句转化为MapReduce任务在Hadoop上执行,支持自定义函数。Hive的数据存储在HDFS中,元数据通常存储在MySQL。Hive与Hadoop的关系紧密,是数据仓库的重要组成部分,但其响应延迟较大,适用于离线批量计算和分析。
摘要由CSDN通过智能技术生成

Hive基础

公司的数据处理方式(四种主流):MR、HIVE、HBase、Spark....

非主流:pig、storm、mongodb、mr script.....       

流程:

1.使用MR开发:编写MR ,实现mapper、reducer、main在hadoop上运行

2.使用hive开发:

2.1使用内置函数:在hive的CLI模式下写HQL,自动转成MR,在hadoop上运行

2.2使用UDF自定义函数:写class打jar包,在hive的CLI下添加自定义函数,在CLI模式下写HQL,自动转成MR,在hadoop上运行

 

 

1.1:hive知识点总结

     Hive是建立在Hadoop上的数据仓库基础构架(HDFS和MR),它提供了一系列工具可以用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模的数据机制。

    Hive就是在Hadoop上架了一层SQL接口,可以将SQL翻译成MapReduce去Hadoop上执行,这样就使得数据开发和分析人员很方便的使用SQL来完成海量数据的统计和分析,而不必使用编程语言开发MapReduce那么麻烦

     Hive是基于HDFS存储、基于MapReduce计算,提供HQL查询的数据仓库工具。Hive是一个很开放的系统,很多内容都支持用户定制。

     HQL:使用语言:QL语言(类SQL查询语言)。能处理内建的mapper和reducer无法完成的复杂分析工作。

  现在虽然有很多SQL ON Hadoop的解决方案,像Spark SQL、Impala、Presto等等,但就目前来看,在基于Hadoop的大数据分析平台、数据仓库中,Hive仍然是不可替代的角色。尽管它的相应延迟大,尽管它启动MapReduce的时间相当长,但是它太方便、功能太强大了,做离线批量计算、ad-hoc查询甚至是实现数据挖掘算法,而且,和HBase、Spark都能整合使用。

 

1.Hive是SQL解析引擎,它将SQL语句转译成M/R Job然后再Hadoop执行。

2.Hive的表其实是HDFS的目录(/文件夹),按表名把文件夹区分开。如果是分区表,则分区值是子文件夹,可以直接在M/R Job里使用这些数据。Hive的数据都是存储在HDFS上的,默认有一个根目录,在hive-site.xml中,由参数hive.metastore.warehouse.dir指定。默认值为/user/hive/warehouse.

  例如:创建logs数据库,HDFS上的存储地址就是/user/hive/warehouse/logs.db

例如:创建day表,HDFS上的存储地址就是/user/hive/warehouse/logs.db/day/

 

1.2:Hive的系统架构

1.用户接口主要有三个:CLI,JdbC/ODBC,WebUI

1)CLI,即shell命令行。

2)JDBC/ODBC,是Hive的Java接口,与使用传统数据库JDBC方式类似。

3)WebUI,是通过浏览访问Hive。

 

2.Hive将元数据存储在数据库(metastore)中,目前只支持MySQL,derby。(Hive中的元数据包括表名,表列,和分区及其属性,表属性,表的数据所在目录等)

3.解析器、编译器、优化器、执行器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划(plan)的生成。生成的查询计划存储在HDFS中,并在随后有MapReducer调用执行。

4.Hive的数据存储在HDFS中,大部分的查询由MapReducer完成(包括含*的查询,比如select * from table不会生成MapReducer任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值