S3 Warehouse¶
Bases: IcebergWarehouse, FrozenModel
Added in 0.15.0
Note
This warehouse uses a dedicated Iceberg S3 client to access the warehouse data. It does not rely on SparkS3 implementation.
Parameters:
-
path(str) –Warehouse path
-
host(str) –S3 endpoint hostname
-
port(int) –S3 endpoint port
-
protocol(Literal['http', 'https'], default:"https") –Protocol to use for S3 connections
-
bucket(str) –S3 bucket name
-
path_style_access(bool, default:False) –Whether to use path-style access
-
access_key(str) –S3 access key
-
secret_key(str) –S3 secret key
-
session_token(str) –S3 session token for temporary credentials
-
region(str) –S3 region
-
extra(Dict[str, str], default:{}) –Additional S3 configuration parameters
Examples:
from onetl.connection import Iceberg
warehouse = Iceberg.S3Warehouse(
path="/warehouse",
host="s3.domain.com",
protocol="http",
bucket="my-bucket",
region="us-east-1",
path_style_access=True,
access_key="my_access_key",
secret_key="my_secret_key",
)
get_config()
¶
Return flat dict with warehouse configuration.
get_packages(package_version)
classmethod
¶
Get package names to be downloaded by Spark.
See Maven package index for all available packages.
Parameters:
-
package_version(str) –Iceberg package version in format
major.minor.patch.
Returns:
-
list[str]–List of Maven coordinates.
Examples:
from onetl.connection import Iceberg
# Note: Iceberg 1.10.0 requires Java 11+
Iceberg.S3Warehouse.get_packages(package_version="1.10.0")