hive 3.x 功能介绍

阅读更多

Apache Hive 3表
使用Hive,您可以创建托管表或外部表。

在Hive 3中,Hive可以完全控制托管表。只有通过Hive才能访问和更改托管表中的数据。除临时表外,托管表是具有ACID(原子性,一致性,隔离性和持久性)属性的事务表。由于Hive可以完全控制托管表,因此Hive可以广泛地优化这些表。如果您需要绕过Hive直接在文件系统上访问数据,则可以使用外部表或存储处理程序,例如Druid或HBase。

以下矩阵列出了您可以使用Hive创建的表类型,是否支持ACID属性,所需的存储格式和密钥操作。

表类型 酸 文件格式 插入 更新/删除
管理:CRUD交易 是 ORC 是 是
托管:仅插入事务 是 任何 是 没有
管理:临时 没有 任何 是 没有
外部 没有 任何 是 是
托管表存储类型默认为优化行列(ORC)。如果通过在表创建期间未指定任何存储来接受默认值,或者如果指定ORC存储,则结果是具有插入,更新和删除(CRUD)功能的ACID表。如果指定任何其他存储类型,例如text,CSV,AVRO或JSON,则结果是仅插入ACID表。您无法更新或删除表中的列。

下表和后续部分介绍了托管(事务)表和外部表之间的其他差异:
表类型 安全 Spark访问 优化
管理(交易) 仅限游侠授权,无SBA 是的,使用Hive Warehouse Connector 统计和其他
外部 Ranger或SBA,需要HDFS中的ACL 是的,直接文件访问 有限
交易表
事务(ACID)表驻留在Hive仓库中。为了实现ACID合规性,Hive必须管理表,包括访问表数据。CRUD(创建,检索,更新和删除)表中的数据必须采用ORC文件格式。仅插入表支持所有文件格式。Hive旨在支持相对较低的事务率,而不是作为在线分析处理(OLAP)系统。您可以使用SHOW TRANSACTIONS命令列出打开和中止的事务。

Hive 3中的事务表与非ACID表相同。Hive 3事务表中不需要进行分段或排序。这些表与本机云存储兼容。

Hive支持每个事务一个语句,可以包含任意数量的行,分区或表。

外部表格
外部表数据不归Hive所有或控制。如果要使用Hive以外的工具直接在文件级别访问数据,通常使用外部表。Hive 3不支持外部表的以下功能:

 

你可能感兴趣的:(hvie,hadoop,hive3.x)