赞
踩
Hive 主要由三个部分组成:Clients(客户端)、Serverices(服务)、Storage and compute(存储和计算)
Hive 的存储结构包括数据库、表、视图、分区和表数据
Hive的元数据管理依赖Mysql数据,所以得提前安装一个Mysql
Hive只是个客户端,所以得有安装包,下载需要的版本的Hive安装包
解压并指定目录
tar -zxvf hive-1.1.0-cdh5.15.1.tar.gz -C ~/app/
vi ~/.bash_profile
Hive文档链接:https://cwiki.apache.org/confluence/display/Hive
Hive Data Definition Language
DDL 说明文档链接:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
对数据的创建,修改,删除,查看,文档上写的比较详细,直接看官方文档就行了
set hive.cli.print.current.db=true
!clear;
增删查改也可以看官方文档,建表示例:
CREATE TABLE emp(
empno int COMMENT '员工编号',
ename string COMMENT '员工名称',
job string COMMENT '工作岗位',
mgr int,
hiredate string,
sal double,
comm double,
deptno int
)
COMMENT '员工信息表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
常用命令:
文档地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
LOCAL:本地系统,如果没有local那么就是指的HDFS的路径
LOAD DATA LOCAL INPATH '/home/hadoop/data/emp.txt' OVERWRITE INTO TABLE emp;
LOAD DATA INPATH 'hdfs://hadoop000:8020/data/emp.txt' INTO TABLE emp;
OVERWRITE:是否数据覆盖,如果没有那么就是数据追加
INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 …) [IF NOT EXISTS]] select_statement1 FROM from_statement;
INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 …)] select_statement1 FROM from_statement;
INSERT OVERWRITE TABLE emp2 select * FROM emp;
create table emp1 as select * from emp;
INSERT OVERWRITE LOCAL DIRECTORY '/tmp/hive/' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' select empno,ename,sal,deptno from emp;
完全类似于 sql语句
函数,分组,聚合,join 也完全类似于 sql语句
展示Hql语句执行的过程
EXPLAIN [EXTENDED|CBO|AST|DEPENDENCY|AUTHORIZATION|LOCKS|VECTORIZATION|ANALYZE] query
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。