感情是偏执的 越爱越是偏执的
不相信我看到的
硬要说裂缝不过 是皱褶
怎么先炽热的却先变冷了
慢热的却停不了还在沸腾着
看时光任性快跑随意就转折
慢冷的人啊 会自我折磨
冲动的人向来听不见挽留
这世界大得让你很难不旅游
浪漫让你温柔 也让你最惹人 泪流
🎵 梁静茹《慢冷》
Hive 是基于 Hadoop 的数据仓库工具,它提供了一种类 SQL 的查询语言,称为 HiveQL,用于在大规模数据集上进行数据分析。在 Hive 中,有内部表和外部表的概念,本文将介绍如何创建和查看这两种类型的表。
什么是内部表和外部表
-
内部表:内部表是 Hive 默认创建的表,它的数据存储在 Hive 的默认存储路径下,由 Hive 管理。当删除内部表时,表的元数据和数据都会被删除。
-
外部表:外部表是指用户自己创建的表,其数据存储在用户指定的路径下,由用户管理。删除外部表时,仅删除表的元数据,数据文件不会被删除。
创建内部表
创建内部表非常简单,只需使用 CREATE TABLE 命令,并指定表名和列名即可。以下是创建内部表的示例:
CREATE TABLE internal_table (id INT,name STRING,age INT
);
创建外部表
创建外部表与内部表类似,不同之处在于需要使用 EXTERNAL 关键字,并指定表的存储路径。以下是创建外部表的示例:
CREATE EXTERNAL TABLE external_table (id INT,name STRING,age INT
)
LOCATION '/user/hive/external_table';
查看内部表和外部表
查看内部表和外部表的方法是相同的,可以使用 SHOW TABLES 命令查看所有的表,也可以使用 DESCRIBE 命令查看表的结构。以下是查看表的示例:
-- 查看所有表
SHOW TABLES;-- 查看内部表结构
DESCRIBE [formatted] internal_table;-- 查看外部表结构
DESCRIBE [formatted] external_table;
总结
本文介绍了 Hive 中内部表和外部表的概念,并演示了如何创建和查看这两种类型的表。内部表由 Hive 管理数据存储,删除表时数据会被删除;外部表由用户管理数据存储,删除表时只删除表的元数据。熟悉内部表和外部表的创建和管理对于在 Hive 中进行数据分析至关重要。