Hive使用

CREATE TABLE A (X STRING);
 
CREATE TABLE () 语句已经定义完成。数据库定义完成。进行直接解释
 
select找一张表的流程
表所在的库--->在库下找所在的表
 
HIVE CREATE TABLE A (wangxiaojia int);
 
MYSQL INERT INTO HIVE.TBLS values (db_num,A,timestamp,col).....
 
HIVE的连接模式== 本地连接模式 直接启动hive命令
HIVE的远程连接 这里要启动HIVE的服务 thirft进行编写
hiveserver2 ---- > 前台启动 后台启动
前台启动 hiveserver2
后台启动 hiveserver2 &
 
beeline
!connect jdbc:hive2://192.168.16.100:10000
 
beeline -u jdbc:hive2://192.168.16.100:10000 -n root
 
两种删除数据的方法:
 
delete
 
truncate HIVE中删除数据 truncate是删除表中所有的数据
 
HIVE的分区表
 
create table test (id int, name string,tel string) partitioned by (age int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE;
 
create table test1 (id int, name string,tel string,age int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE;
 
HIVE中的分区表
HIVE数据库是支持分区表的,但是这里我们注意的是两点
 
一 分区表中的分区列 必须单列出来
二 分区列存放数据的位置和其他数据不在一起 在一个单独的目录下
 
静态分区插入数据:
insert overwrite table test PARTITION (age=25) select id, name, tel from test3;
 
动态分区插入数据:
set hive.exec.mode.local.auto=true;
set hive.exec.dynamic.partition.mode=nonstrict;
insert overwrite table test PARTITION (age) select id, name, tel, age from test3;
 
 
6 bsr2 134535353535 22
7 bsr3 132453535353 24
8 bsr4 154243434355 25
1 bsr 13188888888888 25
2 test 13888888888888 27
3 zs 899314121 29
 
 
 
 
create table test_buk (id int, name string,tel string,age int)
clustered by(id) sorted by(age) into 2 buckets
row format delimited fields terminated by '\t';
 
set hive.enforce.bucketing = true;
load data local inpath '/root/student.txt' into test_buk;
 
 
insert overwrite table test_buk
select id,name,tel,age from test3 distribute by(id) sort by(age);
 
能力测试
create table test_cou (id int, name string,tel string)
partitioned by (age int)
clustered by(id) sorted by(tel) into 2 buckets
row format delimited fields terminated by '\t';
 
第一满足动态分区 第二分桶不能出错
 
set hive.exec.mode.local.auto=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.enforce.bucketing = true;
insert overwrite table test_cou PARTITION (age)
select id, name, tel, age from test3 distribute by(id) sort by(tel);
 
 
 
posted @ 2019-07-25 17:13  王坤华的博客  阅读(205)  评论(0编辑  收藏  举报