Hive是hadoop项目中的子项目,被视为一个数据仓库工具,可以将结构化的数据文件映射为一张数据表,并可以将SQL语句转换为MapReduce任务进行运行。
优点:学习成本低,可以通过类SQL语句快速实现简单的MapReduce应用,十分适合数据仓库的统计分析。
Hive
进入hive的cli: hive
Show tables;
Create table temp.itqsc_hw(id bigint, name string);
Desc temp.itqsc_hw;
Insert overwrite table temp.itqsc_hw select 100, 'helloworld' from default.test;
select * from temp.itqsc_hw;
Show tables:显示所有表
Create table temp.itqsc_hw(id bigint, name string):建表
Desc temp.itqsc_hw:查看表结构
Insert overwrite table temp.itqsc_hw select 100, 'helloworld' from default.test:插入一条数据到已有表default.test
select * from temp.itqsc_hw:查看表内容
HIVE部件
用户接口:命令行CLI,客户端Client和Web界面WUI
常用CLI,启动时会同时启动hive服务。
Client是Hive的客户端,用户连接至HiveServer.启动Client模式时,需指出HiveServer所在节点,并在该节点启动HiveServer。
WUI是通过浏览器访问Hive的Web工具
元数据存储
Hives将元数据存储在数据库中,如MySQL或者Derby(out了)嵌入式数据库。
若将元数据存储在MySQL中,在Table中可以看见你建立的所有信息,Hives中的元数据包括表名,表列,分区及分区属性,表的数据属性,表的数据所在目录。
执行部件
解释器、编译器、优化器完成HiveSQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生的查询计划存储在HDFS中,并在随后有map reduce调用执行。
在Driver类中完成。
HDFS存储
Hive的数据存储在HDFS中,大部分的查询由map reduce完成。
包含*的查询不会生成map reduce任务,不走mapreduce可以瞬间出数。
Hives的内部表和外部表都是HDFS存储的。
使用hive-service help命令可以看到HIVE提供的服务
cli:命令行接口Command Line Interface
hwi: hive web interface
jar: 与hadoop jar等价的hive的接口
优点:学习成本低,可以通过类SQL语句快速实现简单的MapReduce应用,十分适合数据仓库的统计分析。
Hive
进入hive的cli: hive
Show tables;
Create table temp.itqsc_hw(id bigint, name string);
Desc temp.itqsc_hw;
Insert overwrite table temp.itqsc_hw select 100, 'helloworld' from default.test;
select * from temp.itqsc_hw;
Show tables:显示所有表
Create table temp.itqsc_hw(id bigint, name string):建表
Desc temp.itqsc_hw:查看表结构
Insert overwrite table temp.itqsc_hw select 100, 'helloworld' from default.test:插入一条数据到已有表default.test
select * from temp.itqsc_hw:查看表内容
HIVE部件
用户接口:命令行CLI,客户端Client和Web界面WUI
常用CLI,启动时会同时启动hive服务。
Client是Hive的客户端,用户连接至HiveServer.启动Client模式时,需指出HiveServer所在节点,并在该节点启动HiveServer。
WUI是通过浏览器访问Hive的Web工具
元数据存储
Hives将元数据存储在数据库中,如MySQL或者Derby(out了)嵌入式数据库。
若将元数据存储在MySQL中,在Table中可以看见你建立的所有信息,Hives中的元数据包括表名,表列,分区及分区属性,表的数据属性,表的数据所在目录。
执行部件
解释器、编译器、优化器完成HiveSQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生的查询计划存储在HDFS中,并在随后有map reduce调用执行。
在Driver类中完成。
HDFS存储
Hive的数据存储在HDFS中,大部分的查询由map reduce完成。
包含*的查询不会生成map reduce任务,不走mapreduce可以瞬间出数。
Hives的内部表和外部表都是HDFS存储的。
使用hive-service help命令可以看到HIVE提供的服务
cli:命令行接口Command Line Interface
hwi: hive web interface
jar: 与hadoop jar等价的hive的接口
metastore:默认时metastore与hive服务运行在同一个进程,使用metastore可以让metastore作为一个单独的进程运行。
Metastore三种连接模式
Single User Model:此模式连接到一个Inmemory的数据库Derby,一般用于测试UnitTest
Multi User Mode: 通过网络连接到一个数据库中,常用。如连接Mysql。
Remote Server Mode: 用于非Java客户端访问元数据库,在服务器端启动一个MetaStoreServer,客户端利用Thrift通过MetaStoreServer访问元数据库。
Hive部件
hive被视为数仓工具。可以将结构化数据文件映射为 数据库表,并可将SQL语句转投为map reduce统计,适合数据仓库的统计分析。
hive核心内容
HIVE将元数据存储在数据库中。执行时解释器、编译器、优化器完成hiveSQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,由Mapreduce调用执行。
Hive部件:
用户接口:CLI,Client,WUI
元数据存储
执行部件:解释器、编译器、优化器
HDFS存储
hive --service help命令