Hive 表的类型、分区及存储格式详解
1. 表的基本类型
在数据处理中,我们会接触到不同类型的表,主要有管理表(Managed Tables)和外部表(External Tables)。
1.1 管理表
管理表,有时也被称为内部表,Hive 对其数据的生命周期有一定的控制。默认情况下,Hive 会将管理表的数据存储在 hive.metastore.warehouse.dir 目录下的子目录中,例如 /user/hive/warehouse 。当我们删除一个管理表时,Hive 会同时删除表中的数据。不过,管理表在与其他工具共享数据时不太方便。比如,当数据主要由 Pig 或其他工具创建和使用,我们只是想对其进行一些查询,而不想让 Hive 拥有数据的所有权,这时就可以考虑使用外部表。
1.2 外部表
以股票市场数据为例,假设我们定期从 Infochimps(http://infochimps.com/datasets )获取纳斯达克和纽约证券交易所的数据,并希望用多个工具来研究这些数据。数据文件存放在分布式文件系统目录 /data/stocks 中。我们可以使用如下语句创建一个外部表:
CREATE EXTERNAL TABLE IF NOT EXISTS stocks (
exchange STRING,
symbol STRING,
ymd STRING,
price_open FLOA
超级会员免费看
订阅专栏 解锁全文
819

被折叠的 条评论
为什么被折叠?



