Hive的官方网站:hive.apache.org
Hive的官网解释:个人用海词翻译
Hive是Facebook开源实现的,一个数据仓库基础工具,基于Hadoop中用来处理结构化的数据。它建立在Hadoop上面,使查询和分析方便,提供简单的sql查询功能,将Hsql转换为MapReduce任务进行运行。
面试的时候,面试官会经常问,Hive是什么,其实主要是想你回答
Hive的三要素:HDFS:存储数据(hive处理的数据是存储在HDFS上面的) YARN:资源管理(Hive是通过YARN来进行资源管理)MapReduce:处理数据(Hive是通过HQL来进行处理数据,HQL底层最终会转化为MapReduce)
Schema:约束、模式
Hive:大数据的仓库
*处理的数据存储在HDFS上面
*分析数据底层的实现MapReduce
*执行程序运行的YARN
RDBMS:表的概念
create table XXX(
ip string ,
user string ,
data string,
............
)
SQL On Hadoop
面试的时候,一般会问你之前公司的数据量,大家可以参考
一般中型号的公司一天拥有10G的日志需要分析
大的公司一般要有20-30甚至50G的数据需要分析
Hive可以用来进行ETL
ETL(Extract(抽取)-Transform(转换)-Load(加载))
HQL(HiveQL)
select *from XXX limit 10;
select substring(IP,0,4)ip_prex from XXX ;
Hive由Facebook开源用于解决海量结构化日志的数据统计;
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供SQL查询功能;
hive构建在Hadoop纸上的数据仓库;
使用HQL作为查询接口;
使用HDFS存储;
使用MapReduce 计算;
本质是:将HQL转化为MapReduce
?问题是转么转化为HQL----Engine----Hive(MapReduce)
由转化
CLI与JDBC、WebUI(客户端)
Hive表的元数据(表的名称、字段、表的类型、对应的文件存储位置)通常存储在mysql中,默认是在hive本身的Derby数据库中
通过,解析、优化、物理的计划、执行转变为MapReduce