oracle的外部表和内部表链接,内部表、外部表和分区表
发布日期:2021-06-24 15:18:57 浏览次数:2 分类:技术文章

本文共 1720 字,大约阅读时间需要 5 分钟。

内部表与外部表

创建内部表语句

create table student(

id string,

name string

) row format delimited fields terminated by 't';

创建外部表语句

create external table student(

id string,

name string

) row format delimited fields terminated by 't';

通过 external 关键词来进行区分

因为外部表更多用于引用外部的数据,也不希望对原始数据继续破坏,所以要配合location来指定外部表要读取数据的位置

删除内部表或者清空都会将数据真正的删除,如果是外部表,只会讲我们表的关联信息删除掉,对我们指定位置下的内容没有任何影响

当然不是说内部表就不能使用location

load data inpath(从hdfs上进行数据导入就会将我们的数据移动到table所使用的目录下)

分区表

相当于在表中又分了小表

作用是可以减小我们有一定条件时的查询数据量,提升我们的查询效率

分区不是只能有一层的,我们可以创建多层的形式,即小表中在创建小表

create table whtime(id int,name string)

partitioned by(year string,month string)

row format delimited fields terminated by 't';

创建好分区后要进行数据的导入,在这里需要制定好将数据导入到哪个分区,否则不知道哪个分区

比如两个分区的话,需要指定

load data inpath '/dbdata/user.log' into table whtime partition(year='2018',month='01');

insert into birthday partition(month='01')

select id,name,month from persons where month = '01';//

分区表的信息查看

show partitions 表名

动态分区

使用场景:

当我们想对数据进行分区的时候,你拿到的数据却未必是已经分好区的文档,并不能直接load进就能用

这时候我们进程使用动态分来解决这种问题

列如:

+————-+—————+—————-+—————–+–+

| persons.id | persons.name | persons.month | persons.gender |

+————-+—————+—————-+—————–+–+

| 1 | tabn | 02 | man |

| 2 | sdasd | 03 | man |

| 3 | jsjuiw | 04 | man |

| 4 | kloie | 05 | man |

| 5 | slfdfj | 05 | man |

| 7 | nvshen | 10 | women |

| 8 | nvshenjin | 09 | women |

| 9 | xiaomimei | 10 | women |

| 10 | xiaobai | 01 | women |

+————-+—————+—————-+—————–+–+

给你如上文档,让你把数据加入到按月份分区的表中1.将混乱的数据传到一个表中

2.创建对应的分区表

3.向分区表动态分区的插入数据

insert into birthday partition(month)

select id,name,month from persons;

- 3.1如果要进行动态分区,就不要在partition(month)中设置固定值,不然就不是动态分区了

- 3.2默认使用的是严格模式,是不允许动态分区的,我们在命令行执行set hive.exec.dynamic.partition.mode=nonstrict;

- 3.3使用动态分区会将查询结果集的最后一个作为分区条件,所以select查询要注意

转载地址:https://blog.csdn.net/weixin_33587731/article/details/116389347 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php远程写syslog,(转载)把syslog接收的远程日志从/var/log/messages中分开
下一篇:scite php配置 下载,SciTE的基本配置文件

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月25日 22时14分59秒