Hive的表结构
本质就是Hadoop的目录/文件
– hive默认表存放路径一般都是在你工作目录的hive目录里面,按表名做文件夹分开,如果你
有分区表的话,分区值是子文件夹,可以直接在其它的MR job里直接应用这部分数据
1、查看Hive中表结构:
方式一:
show create table 表名;
show create table orders;
方式二:
desc 表名;
desc orders;
2、删除HIve中表
drop table 表名;
drop table orders;
1、Hive 内部表和外部表区别:
外部表在创建时通过external(外部的)修饰
(1)是否直接通过external
(2)删除外部表,元数据得到删除,但是数据不会真正删除,针对内部表,元数据和数据都被删除
(3)在导入数据到外部表,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据并不是由它自己来管理的! 而内部表则不一样
Hive 内部表和外部表应用场景
外部表:可以用户存储一些日志信息,数据不会被删除
外部表使用场景:导入HDFS中的源数据(外部表在删除时是不会删除源数据的)
内部表:逻辑处理的中间过程生成的中间表,或者一些临时表,直接删除即可
内部表使用场景:存放Hive处理中的中间表、结果表(内部表在删除时会连同HDFS上的数据一同删除,可能不关心中间表的数据)
• Hive的create创建表的时候,选择的创建方式:
– 内部表:create table [表名] (默认内部表)
– 外部表:create external table [表名] location ‘hdfs_path ’(hdfs_path必须是文件夹,否则会报错 )