hive的内部表,外部表和分区表

hive的内部表,外部表和分区表

1.内部表外部表和分区表的概述:

[内部表(管理表)]不加external(外部的)的修饰的表格属于 内部表 删除表格会将数据一起删除!
[外部表]加上external(外部的)的修饰的表格属于 外部表 删除表格不会讲数据一起删除但是会移动数据路径位置!
[外部表(指定数据位置)]加上external(外部的)的修饰并且末尾加上location "/shizijun/";补充的表属于指定数据位置的外部表,删除表格数据不会删除也不会更改路径位置还可以被另一个表指向!
[分区表]两个数据指向同一个表格中的两个区,缩小查询范围.提高查询效率!!**

2.以下是一个指定数据位置的外部表 ! 例表 !

create external table  student(
id  int ,
name  string ,
sex  string ,
age  string 
)
row format delimited fields terminated by ","--设定分隔符
location "/shizijun/";--指定数据位置
 
load  data inpath  "/student"  into  table student ;--如果没有指定数据位置再将数据指向一遍!!	

3.以下是一个分区表的!例表!(二级静态分区表)

create  table log3(
uid string ,
nane string  ,
word string ,
age int ,
logday string 
)
partitioned by (p_month string , p_day string)   --   分区字段  两个  二级分区  层级文件夹
row format delimited fields terminated by "\t" ;  --分隔符为"\t"(tab按键)
--分别将四个文件指向同一个表的不同分区提高查询效率!
load  data local inpath "/hive/log/2019-10-28.log" into table log3 partition(p_month="2019-10" ,p_day="10-28" ) ;
load  data local inpath "/hive/log/2019-10-29.log" into table log3 partition(p_month="2019-10" ,p_day="10-29" ) ;
load  data local inpath "/hive/log/2019-11-28.log" into table log3 partition(p_month="2019-11" ,p_day="11-28" ) ;
load  data local inpath "/hive/log/2019-11-29.log" into table log3 partition(p_month="2019-11" ,p_day="11-29" ) ;
		

4.会用到的一些hdfs的简单命令

1) hdfs dfs -put /a.txt   /user/hive/--上传a.txt到hdfs中空格前为linux本地路径,空格后为hdfs路径!
2) load data local inpath "/user.txt" into table tb_user ;--加载本地数据user.txt到tb_user表格中
3) load data local inpath "/user.txt" overwrite into table tb_user ;	--覆盖本地数据user.txt到tb_user表格中
4) hdfs dfs -mkdir -p /user/input	 --在hdfs的/user 上创建一个input 文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值