Hive常用的基本操作指令

查看所有数据库

show databases;

查询表格内全部数据

 select * from tb_baoxian2;

use进入数据库

use text

从本地中加载数据到表里

load data local inpath '文件路径' overwrite into table 加载到那个表;

hive读取本地的data文件

先从本地文件上传到hdfs中

hdfs dfs -put film_log4.txt /
load data local inpath '/home/data.txt' into table stu;

![在这里插入图片描述](https://img-blog.csdnimg.cn/b29573542fb

创建表格指定分割符

 create table stu2(id int,name string) row format delimited fields terminated by' 分割格式';

创建表时指定换行

lines terminated by '\n'

创建表分割数据

fiellds terminatedby '分割值'

把查询的结果插入到指定表中

insert overwrite table stu3 select * from stu2;

把查询的结果插入到指定的本地下

insert overwrite local directory '/home/stu' row format delimited fields terminated by ' ' select * from stu2;

把查询的结果放到分布式目录

insert overwrite directory '/home/stu' row format delimited fields terminated by ' ' select * from stu2;

删除指定表

drop table stu1

删除数据库

drop database test;

内部表和外部表

创建一个外部表

create external table tb_baoxian1(id int,name string,type string,age int,time string,six string,number int,region string,city string) row format delimited fields terminated by ',' location '/home/baoxian/baoxian.csv';

创建一个分区表

 create table book(id int,name string) partitioned by(title string) row format delimited fields terminated by ' ';

分区表后面可以跟查询条件避免全表查询

把分区设置为非严格模式

set hive.exec.dynamic.partition.mode=nonstrict;

分区加载数据

load data  local inpath '/home/cn.txt' overwrite into table book partition(title='cn');
Loading data to table default.book partition (自定义字段=cn)

添加成功后数据后面会有一个字段
在这里插入图片描述

分区查询

查询自定义字段的数据

select * from book where title='cn';

在这里插入图片描述

添加多一个分区

在载入一次你要加载的数据即可
在这里插入图片描述
在这里插入图片描述

追加分区文件不覆盖之前字段内容

最大的用处是避免全表查询

load data  local inpath '/home/cn.txt' into table book partition(title='cn');
Loading data to table default.book partition (自定义字段=cn)

覆盖原来表中数据插入分区

insert overwrite  table tb_baoxian2 partition(yue) select *,month(time) as yue from tb_baoxian1;

保留原来表中数据插入分区

insert into table tb_baoxian2 partition(yue) select *,month(time) as yue from tb_baoxian1;

显示分区

show partitions book;

修复分区

把读取不到的分区信息导入

msck repair table book;


hive数据库信息位置和表信息位置

在这里插入图片描述
表存放在这边
在这里插入图片描述

动态分区

动态分区识别插入

      set hive.exec.dynamic.partition=true;
      set hive.exec.dynamic.partition.mode=nonstrict;

动态分区识别年月日

select *, year(time) from tb_baoxian1 limit 5;
select *, moth(time) from tb_baoxian1 limit 5;
select *, day(time) from tb_baoxian1 limit 5;
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值