第15天:hive表操作 内部表和外部表的创建、修改、删除操作实战



第15天:hive表操作  内部表和外部表的创建、修改、删除操作实战
 创建、删除、截断表


 create  external table [if not exists] table_name


 create table 创建一个指定名字的表。
如果相同名字的表已经存在,则抛出一场,
用户可以用if not exist 选项来忽略这个异常
external 关键字可以让用户创建一个外部表。
在建表的同时置顶一个只想世纪数据的路径


内部表,删除时 元数据和数据多一起删除
外部表,删除时不删除数据


like  允许用户复制现有的表结构,但是不复制数据


用户在建表的时候可以自定义serde或者使用自带的
serde


1、穿件简单的表
create table table_name(


)
2、创建有分区的表
create table table_name(
id int,
dtDontQuery string,
name string
)
partitioned by (date string)


一个表可以拥有一个或者多个分区,
每一个分区以文件夹的形式单独存在表文件的目录下。




在hive select 中查询一个班会扫描整个表的内容,会消耗
很多时间做没有必要的工作,
有时候只需要扫描表中关心的一部分数据,因此建表的
引入partition概念。表中的一个partition对应表下的一个目录
partition就是辅助查询,缩小查询范围,加快数据的检索速度对
数据按照一定的规格




create table page_view(
viewTime int,
userid bigint,
page_url string,
referrer_url string
,
ip string comment 'ip address of the user'
)
comment 'this is the page view table'
partitioned by (dt string,country string)
row format delimited
fields terminated by '1001'
collection items terminated by '1002'
map keys terminated by '1003'
stored as textfile;


如果数据已经存在hdfs的/user/hadoop/warehouse/page_view
上了,如果想创建表,指向这个路径,就需要创建
外部表。
create external table page_view(
viewTime int,
userid bigint,
....
)
...
location '/user/hadoop/warehouse/pa'


有external就是外部表。
没有就是内部表。


、、
指定数据库创建表
如果不指定数据库,hive会把表穿件zaidefault数据库下,
假如有一个hive的数据库mydb
要穿件表到mydb如下
create table mydb.pokes(foo int,bar string);


复制表结构
create 。。。like。。。


create-table-as-select(CTAS)
CTAS创建的表是原子性的,这意味这,
该表知道素有的查询结果完成后,
其他用户才可以看到完整的查询结果表。


CTAS唯一的限制是目标表,不能是一个有分区的表
,也不能是外部表。
简单的方式
create table new_key_vale_store
as
select (key % 1024 ) new_key,concate(key,value)key_value
from key_value_store;


drop table table_name
drop table if exists table_name


截断表
truncate table table_name
truncate table table_name partition(dt='20080808)'
从表或者表分区删除所有行,不指定分区
,将阶段表所有分区


添加分区


al







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值