to Implementation: Iceberg REST Catalog with Hive Metastore” https://speakerdeck.com/okumin/from-spec-to-implementation-iceberg-rest-catalog-with-hive-metastore-english-version Trino REST Catalog Hive Metastore Iceberg REST API Hive Catalog API Server Iceberg REST API Hive Metastore Thrift API Trino REST Catalog REST API RDBMS RDBMS Thrift RPC REST API Embedded Mode Standalone Mode (>= 4.3)
adopted general-purpose metadata API → Keep existing data useful, keep future options open Many Clients Real-World Data HMS Thrift API Apache Spark Trino Cloud DWH Federated Catalog Next-Generation Query Engine Hive Table CSV/TSV PostgreSQL Delta Lake Next-Generation Format
https://medium.com/@dmitriy.fingerman/expanding-the-hive-ecosystem-with-iceberg-rest-f51da5019fe6 Hive on Tez S3 Tables Iceberg REST Catalog API Table Bucket Get Table Metadata Read Data Files
Engine Choose the Right Engine for Each Workload Hive on Tez & LLAP Core Iceberg Features Advanced Optimizer Stream Processing Non-SQL Interfaces Machine Learning
Small Data Files - ✅ Major Compaction: Merge Small Data Files and Delete Files - ✅ Smart Compaction: Automatically Choose Minor or Major Compaction - ✅ Expire Snapshots - ✅ Remove Orphan Files
can continuously maintain Iceberg tables Hive Metastore IcebergHouseKeeperService IcebergTableOptimizer HiveServer2 + Tez Enqueue Major / Minor Compaction Perform Compaction Expire Snapshots Iceberg Table w/ Old Snapshots Iceberg Table w/ Small Files HDFS, S3, etc.
\ --name hive \ apache/hive:4.2.0 HiveServer2 + Hive Metastore docker run \ --rm \ --name hms \ apache/hive:standalone-metastore-4.2.0 Hive Metastore w/ Iceberg REST Catalog API Official Docker images have been available since 2023 → Easy to try out
LLAP Tez App Master OR Distributed Task Coordinator Launch YARN Containers and Schedule Tasks OR Schedule Tasks to Long-Running LLAP Daemons If Hive on Tez can run on Kubernetes, the whole Hive stack can run there too...
Final Barrier YARN NodeManager Task Containers Hive LLAP Tez App Master OR YARN Dependency: Strong YARN Dependency: Strong Not required if LLAP is available YARN Dependency: Weak (In theory, it could even run on EC2)
LLAP Hadoop YARN Tez App Master Task Containers Hive LLAP Easy deployment with a Helm chart. Best for most users without an existing Hadoop cluster. Enterprise-grade scheduling with YARN. A proven choice for managing hundreds or thousands of tenants.