@@ -117,6 +117,7 @@ class CatalogType(Enum):
117117 DYNAMODB = "dynamodb"
118118 SQL = "sql"
119119 IN_MEMORY = "in-memory"
120+ BIGQUERY = "bigquery"
120121
121122
122123def load_rest (name : str , conf : Properties ) -> Catalog :
@@ -171,6 +172,15 @@ def load_in_memory(name: str, conf: Properties) -> Catalog:
171172 except ImportError as exc :
172173 raise NotInstalledError ("SQLAlchemy support not installed: pip install 'pyiceberg[sql-sqlite]'" ) from exc
173174
175+ def load_bigquery (name : str , conf : Properties ) -> Catalog :
176+ try :
177+ from pyiceberg .catalog .bigquery_metastore import BigQueryMetastoreCatalog
178+
179+ return BigQueryMetastoreCatalog (name , ** conf )
180+ except ImportError as exc :
181+ raise NotInstalledError ("BigQuery support not installed: pip install 'pyiceberg[bigquery]'" ) from exc
182+
183+
174184
175185AVAILABLE_CATALOGS : dict [CatalogType , Callable [[str , Properties ], Catalog ]] = {
176186 CatalogType .REST : load_rest ,
@@ -179,6 +189,7 @@ def load_in_memory(name: str, conf: Properties) -> Catalog:
179189 CatalogType .DYNAMODB : load_dynamodb ,
180190 CatalogType .SQL : load_sql ,
181191 CatalogType .IN_MEMORY : load_in_memory ,
192+ CatalogType .BIGQUERY : load_bigquery ,
182193}
183194
184195
0 commit comments