Hive中的Managed Table以及External Table
Hive有两种类型的表:
Managed Table 内部表
External Table 外部表
下面我们详细介绍这两种表.
Managed Table
这种表也被称作Internal Table.这是Hive中的默认的类型.如果你在创建表的时候没有指明Managed或者External,那么默认就会给你创建Managed Table.
Managed Table的数据,会存放在HDFS中的特定的位置中,通常是/user/hduser/hive/warehouse.当然,也不一定,看你的Hive的配置文件中是如何配置的.
我们可以使用下面的命令来创建一个Managed Table并查看:
hive> create table test_mamaged_table(context string);
OK
Time taken: 0.289 seconds
hive> describe formatted test_mamaged_table;
OK
# col_name data_type comment
context string
# Detailed Table Information
Database: default
Owner: hadoop
CreateTime: Wed May 30 04:50:41 PDT 2018
LastAccessTime: UNKNOWN
Protect Mode: None
Retention: 0
Location: hdfs://hadoop001:8020/user/hive/warehouse/test_mamaged_table
Table Type: MANAGED_TABLE
Table Parameters:
transient_lastDdlTime 1527681041
# Storage Information
SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
InputFormat: org.apache.hadoop.mapred.TextInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Compressed: No
Num Buckets: -1
Bucket Columns: []
Sort Columns: []