Managing Apache Hive
Also available as:
PDF

ACID operations

In Hive 3, you can perform ACID (atomicity, consistency, isolation, and durability) v2 transactions at the row level without any configuration. By default, managed tables are ACID tables. You cannot disable transactions.

HDP 3.0 and Hive 3 introduce mature versions of ACID transaction processing and low latency analytical processing (LLAP). ACID tables have been enhanced to the point of now serving as the default table type in HDP 3.0, without performance or operational overload. Application development and operations are simplified with stronger transactional guarantees and simpler semantics for SQL commands. You do not need to bucket ACID v2 tables, so maintenance is easier. With improvements in transactional semantics comes advanced optimizations, such as materialized view rewrites and automatic query cache. With these optimizations, you can deploy new Hive application types.

A Hive operation is atomic. The operation either succeeds completely or fails; it does not result in partial data. A Hive operation is also consistent: After an application performs an operation, the results are visible to the application in every subsequent operation. Hive operations are isolated. Your operations do not cause unexpected side effects for other users. Finally, a Hive operation is durable. A completed operation is preserved despite a machine or system failure.

Hive operations are atomic at the row level instead of the table or partition level. A Hive client can read from a partition at the same time another client adds rows to the partition. Transaction streaming rapidly inserts data into Hive tables and partitions.