Package io.deephaven.iceberg.util
Class IcebergCatalogAdapter
java.lang.Object
io.deephaven.iceberg.util.IcebergCatalogAdapter
- All Implemented Interfaces:
Closeable,AutoCloseable
-
Method Summary
Modifier and TypeMethodDescriptionorg.apache.iceberg.catalog.Catalogcatalog()Returns the underlying Icebergcatalogused by this adapter.voidclose()createTable(@NotNull String tableIdentifier, @NotNull TableDefinition definition) Create a new Iceberg table in this catalog with the giventableIdentifieranddefinition.createTable(@NotNull org.apache.iceberg.catalog.TableIdentifier tableIdentifier, @NotNull TableDefinition definition) Create a new Iceberg table in this catalog with the giventableIdentifieranddefinition.List<org.apache.iceberg.catalog.Namespace>List allnamespacesin the catalog.List<org.apache.iceberg.catalog.Namespace>listNamespaces(@NotNull org.apache.iceberg.catalog.Namespace namespace) List allnamespacesin a given namespace.List<org.apache.iceberg.catalog.TableIdentifier>listTables(@NotNull org.apache.iceberg.catalog.Namespace namespace) List all Icebergtablesin a given namespace.loadTable(@NotNull LoadTableOptions options) Load an Iceberg table from the catalog withoptions.loadTable(@NotNull org.apache.iceberg.catalog.TableIdentifier tableIdentifier) Load an Iceberg table from the catalog.Load an Iceberg table from the catalog.List allnamespacesin the catalog as a Deephaventable.namespaces(@NotNull String... namespace) List allnamespacesin a given namespace as a Deephaventable.namespaces(@NotNull org.apache.iceberg.catalog.Namespace namespace) List allnamespacesin a given namespace as a Deephaventable.tables(@NotNull org.apache.iceberg.catalog.Namespace namespace) List all Icebergtablesin a given namespace as a Deephaventable.
-
Method Details
-
listNamespaces
List allnamespacesin the catalog. This method is only supported if the catalog implementsSupportsNamespacesfor namespace discovery. SeeSupportsNamespaces.listNamespaces(Namespace).- Returns:
- A list of all namespaces.
-
listNamespaces
public List<org.apache.iceberg.catalog.Namespace> listNamespaces(@NotNull @NotNull org.apache.iceberg.catalog.Namespace namespace) List allnamespacesin a given namespace. This method is only supported if the catalog implementsSupportsNamespacesfor namespace discovery. SeeSupportsNamespaces.listNamespaces(Namespace).- Parameters:
namespace- The namespace to list namespaces in.- Returns:
- A list of all namespaces in the given namespace.
-
namespaces
List allnamespacesin the catalog as a Deephaventable. The resulting table will be static and contain the same information aslistNamespaces().- Returns:
- A
tableof all namespaces.
-
namespaces
List allnamespacesin a given namespace as a Deephaventable. The resulting table will be static and contain the same information aslistNamespaces(Namespace).- Returns:
- A
tableof all namespaces.
-
namespaces
List allnamespacesin a given namespace as a Deephaventable. The resulting table will be static and contain the same information aslistNamespaces(Namespace).- Returns:
- A
tableof all namespaces.
-
listTables
public List<org.apache.iceberg.catalog.TableIdentifier> listTables(@NotNull @NotNull org.apache.iceberg.catalog.Namespace namespace) List all Icebergtablesin a given namespace.- Parameters:
namespace- The namespace to list tables in.- Returns:
- A list of all tables in the given namespace.
-
tables
List all Icebergtablesin a given namespace as a Deephaventable. The resulting table will be static and contain the same information aslistTables(Namespace).- Parameters:
namespace- The namespace from which to gather the tables- Returns:
- A list of all tables in the given namespace.
-
tables
-
loadTable
Load an Iceberg table from the catalog.Equivalent to
loadTable(LoadTableOptions.builder().id(tableIdentifier).build()).- Parameters:
tableIdentifier- The identifier of the table to load.- Returns:
- The
table adapterfor the Iceberg table. - See Also:
-
loadTable
public IcebergTableAdapter loadTable(@NotNull @NotNull org.apache.iceberg.catalog.TableIdentifier tableIdentifier) Load an Iceberg table from the catalog.Equivalent to
loadTable(LoadTableOptions.builder().id(tableIdentifier).build()).- Parameters:
tableIdentifier- The identifier of the table to load.- Returns:
- The
table adapterfor the Iceberg table. - See Also:
-
loadTable
Load an Iceberg table from the catalog withoptions.- Parameters:
options- The load table options- Returns:
- The
table adapterfor the Iceberg table.
-
catalog
public org.apache.iceberg.catalog.Catalog catalog()Returns the underlying Icebergcatalogused by this adapter. -
createTable
public IcebergTableAdapter createTable(@NotNull @NotNull String tableIdentifier, @NotNull @NotNull TableDefinition definition) Create a new Iceberg table in this catalog with the giventableIdentifieranddefinition. The resulting table'sSchemawill havefieldswith the same name and order asdefinition. Their types will be inferred viaTypeInference.of(Type, Type.Visitor). Thepartitioning columnswill be used asidentity transformsfor thePartitionSpec. Callers should take note of the documentation onResolver.definition()when deciding to create an Iceberg Table with partitioning columns.- Parameters:
tableIdentifier- The identifier of the new table.definition- TheTableDefinitionof the new table.- Returns:
- the resolver
- Throws:
org.apache.iceberg.exceptions.AlreadyExistsException- if the table already exists
-
createTable
public IcebergTableAdapter createTable(@NotNull @NotNull org.apache.iceberg.catalog.TableIdentifier tableIdentifier, @NotNull @NotNull TableDefinition definition) Create a new Iceberg table in this catalog with the giventableIdentifieranddefinition. The resulting table'sSchemawill havefieldswith the same name and order asdefinition. Their types will be inferred viaTypeInference.of(Type, Type.Visitor). Thepartitioning columnswill be used asidentity transformsfor thePartitionSpec. Callers should take note of the documentation onResolver.definition()when deciding to create an Iceberg Table with partitioning columns.- Parameters:
tableIdentifier- The identifier of the new table.definition- TheTableDefinitionof the new table.- Returns:
- the resolver
- Throws:
org.apache.iceberg.exceptions.AlreadyExistsException- if the table already exists
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-