hive学习笔记,
hql语句的执行过程
解析器 语法分析
编译器 生成hql语句执行计划
优化器 生成最优执行计划
show tables
show functions
desc 表名 查看表的信息
dfs -lsr /tmp 在cli中也可以查看hdfs上的文件
!ls /root 在cli中也可以执行linux的命令
source /root/demo.sql 执行一个sql文件
hive -S 就能进入cli 有个静默模式
hive -e 'desc test1'; 不进入hive cli模式 直接执行一条语句
hive --service hwi //hive 自带的图形界面管理工具
基本数据类型
tinyint/smallint/int/bigint
float/double
boolean
string
timestamp/date
char(20) vachar(20)区别 char固定20个字符长度 vachar而不是
Array // create table student(
sid int,sname string,grade array<float>
);
{1,Tom,[80,90]}
Map// create table student(
sid int,sname strint,grade map<String,float>
);
{1,Tom,<'郁闷',90>}
struct 结构类型
create table sudent(
id int,
sname string,
info struct<name:string,age int>
)
数据库 文件 表 视图
create table sudent(
id int,
sname string,
)location '/tmp/student',row format
create table t4 as select * from student;//子查询创建表
explain select * from sample_table //生成一个执行计划
外部表 只是制定了一个hive 在hdfs数据存储目录的链接 删除表的时候只是删除了链接
桶表
桶表是对数据进行哈希取值,然后放到不同文件中存储
create table bucket_table(
sid int,
sname string
)clustered by (sname) into 5 buckets;
视图 逻辑概念 虚拟的
create vie empinfo
as
select e.empno,e.ename,e.sal*12 analsel ,d.name
from emp e,dept d
where e.deptno=d.deptno
----------------------------------------------------------------------------------------------------------------
hive 进阶