Google Cloud Client Libraries for Rust - Lakehouse API
WARNING: some RPCs have no corresponding Rust function to call them. Typically these are streaming RPCs. We expect adding these RPCs in a way that does not break the existing APIs or changes their behavior in a significant way. We do anticipate a number of new crate dependencies will be required. If you need these RPCs please open an issue in our GitHub repository.
The Lakehouse API (formerly BigLake API) provides access to a serverless, fully managed, and highly available metastore that provides a single source of truth for your data lakehouse. It lets multiple engines—including Apache Spark, Google Managed Spark, Apache Flink, Trino and BigQuery—share tables and metadata for key open formats (Apache Iceberg, Apache Hive), and query the same copy of data. Plus, through the Lakehouse runtime catalog federation seamlessly unite your lakehouse ecosystem, letting Iceberg compatible engines on Google Cloud (BigQuery, Google Managed Spark) discover and analyze enterprise data across Snowflake, Databricks, and AWS Glue.
The client library types and functions are stable and not expected to change. Please note that Google Cloud services do change from time to time. The client libraries are designed to preserve backwards compatibility when the service changes in compatible ways. For example, adding RPCs, or fields to messages should not introduce breaking changes to the client libraries.
Quickstart
The main types to work with this crate are the clients:
Features
default-rustls-provider: enabled by default. Use the default rustls crypto provider (aws-lc-rs) for TLS and authentication. Applications with specific requirements for cryptography (such as exclusively using the ring crate) should disable this default and callrustls::crypto::CryptoProvider::install_default().
More Information
- Read the crate's documentation