Delegated Warehouse¶
Bases: IcebergWarehouse, FrozenModel
Delegate configuring Iceberg warehouse to Iceberg catalog. |support_hooks|
Used by some Iceberg catalog implementations like:
Lakekeeper <https://docs.lakekeeper.io/docs/latest/storage/#s3>_Polaris <https://polaris.apache.org/in-dev/unreleased/polaris-spark-client/>_Apache Gravitino <https://gravitino.apache.org/docs/1.0.0/security/credential-vending/>_Databricks Unity Catalog <https://docs.databricks.com/aws/en/external-access/iceberg#use-iceberg-tables-with-apache-spark>_
.. versionadded:: 0.15.0
Parameters:
-
name(str) –Warehouse name/alias, if supported by specific Iceberg catalog
-
access_delegation('vended-credentials' | 'remote-signing') –Value of
X-Iceberg-Access-Delegation <https://github.com/apache/iceberg/blob/apache-iceberg-1.10.0/open-api/rest-catalog-open-api.yaml#L1854>_ header. -
extra(Dict[str, str], default:{}) –Additional configuration parameters
Examples:
.. tabs::
.. code-tab:: python S3 client with vended credentials
from onetl.connection import Iceberg
warehouse = Iceberg.DeletatedWarehouse(
name="my-warehouse",
access_delegation="vended-credentials",
# other params passed to S3 client (optional)
extra={"client.region": "us-east-1"},
)
.. code-tab:: python S3 client with remote signing
from onetl.connection import Iceberg
warehouse = Iceberg.DeletatedWarehouse(
name="my-warehouse",
access_delegation="remote-signing",
# other params passed to S3 client (optional)
extra={"client.region": "us-east-1"},
)
get_config()
¶
Return flat dict with warehouse configuration.