iceberg-cpp
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
iceberg::hive::HiveCatalogProperties Class Reference

Configuration for the iceberg_hive HiveCatalog. More...

#include <hive_catalog_properties.h>

Inheritance diagram for iceberg::hive::HiveCatalogProperties:
iceberg::ConfigBase< HiveCatalogProperties >

Public Types

template<typename T >
using Entry = const ConfigBase< HiveCatalogProperties >::Entry< T >
 

Public Member Functions

Result< std::string_view > Uri () const
 Resolve kUri. Returns an error if the URI is unset or empty.
 
Result< HiveThriftTransportThriftTransport () const
 Parse kThriftTransport into a HiveThriftTransport. Comparison is case-insensitive to match the conventions used by other Iceberg language ports.
 
- Public Member Functions inherited from iceberg::ConfigBase< HiveCatalogProperties >
ConfigBaseSet (const Entry< T > &entry, const T &val)
 
ConfigBaseUnset (const Entry< T > &entry)
 
ConfigBaseReset ()
 
Get (const Entry< T > &entry) const
 
const std::unordered_map< std::string, std::string > & configs () const
 
std::unordered_map< std::string, std::string > & mutable_configs ()
 
std::unordered_map< std::string, std::string > Extract (std::string_view prefix) const
 Extracts the prefix from the configuration.
 

Static Public Member Functions

static HiveCatalogProperties default_properties ()
 Build a HiveCatalogProperties with defaults applied.
 
static HiveCatalogProperties FromMap (std::unordered_map< std::string, std::string > properties)
 Build a HiveCatalogProperties from a property map.
 

Static Public Attributes

static Entry< std::string > kUri {"uri", ""}
 The URI of the Hive Metastore Thrift endpoint.
 
static Entry< std::string > kName {"name", "hive"}
 The catalog name reported by name(). Defaults to "hive".
 
static Entry< std::string > kWarehouse {"warehouse", ""}
 The warehouse root path (for example, s3://bucket/warehouse or hdfs://nn/path). Used as the default base location for new tables that do not specify their own location.
 
static Entry< std::string > kIOImpl {"io-impl", ""}
 The FileIO implementation name used to read and write Iceberg metadata files.
 
static Entry< std::string > kThriftTransport {"thrift-transport", "buffered"}
 Thrift framing for the HMS connection ("buffered" or "framed").
 
static Entry< int > kConnectTimeoutMs {"connect-timeout-ms", 30000}
 HMS connect timeout, in milliseconds.
 
static Entry< int > kSocketTimeoutMs {"socket-timeout-ms", 60000}
 HMS socket / RPC timeout, in milliseconds.
 
static Entry< bool > kLockEnabled {"hive.lock-enabled", false}
 When true, wrap the commit path with HMS lock / unlock for extra safety on top of the metadata_location CAS. Defaults to false because CAS already handles single-writer correctness; turn this on for environments with high write concurrency.
 

Additional Inherited Members

- Protected Attributes inherited from iceberg::ConfigBase< HiveCatalogProperties >
std::unordered_map< std::string, std::string > configs_
 

Detailed Description

Configuration for the iceberg_hive HiveCatalog.

HMS connection settings (URI, transport, timeouts) plus warehouse / FileIO metadata. Authentication (SASL/Kerberos) and HMS-side locking are introduced in follow-up changes.

Member Data Documentation

◆ kUri

Entry<std::string> iceberg::hive::HiveCatalogProperties::kUri {"uri", ""}
inlinestatic

The URI of the Hive Metastore Thrift endpoint.

Accepted forms (matching the conventions used by iceberg-java and iceberg-rust):

  • thrift://host:port
  • host:port
  • comma-separated list of either form for HA failover

The documentation for this class was generated from the following files: