Package org.apache.iceberg.gcp.bigquery
Class BigQueryMetastoreCatalog
java.lang.Object
org.apache.iceberg.BaseMetastoreCatalog
org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- Catalog,- SupportsNamespaces,- Configurable<Object>
public class BigQueryMetastoreCatalog
extends BaseMetastoreCatalog
implements SupportsNamespaces, Configurable<Object>
Iceberg Bigquery Metastore Catalog implementation.
- 
Nested Class SummaryNested classes/interfaces inherited from class org.apache.iceberg.BaseMetastoreCatalogBaseMetastoreCatalog.BaseMetastoreCatalogTableBuilderNested classes/interfaces inherited from interface org.apache.iceberg.catalog.CatalogCatalog.TableBuilder
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidcreateNamespace(Namespace namespace, Map<String, String> metadata) Create a namespace in the catalog.protected StringdefaultWarehouseLocation(TableIdentifier identifier) booleandropNamespace(Namespace namespace) Drop a namespace.booleandropTable(TableIdentifier identifier, boolean purge) Drop a table; optionally delete data and metadata files.voidinitialize(String name, Map<String, String> properties) Initialize a catalog given a custom name and a map of catalog properties.List top-level namespaces from the catalog.listNamespaces(Namespace namespace) Since this catalog only supports one-level namespaces, it always returns an empty list unless passed an empty namespace to list all namespaces within the catalog.listTables(Namespace namespace) Return all the identifiers under this namespace.loadNamespaceMetadata(Namespace namespace) Load metadata properties for a namespace.name()Return the name for this catalog.protected TableOperationsnewTableOps(TableIdentifier identifier) booleanremoveProperties(Namespace namespace, Set<String> properties) Remove a set of property keys from a namespace in the catalog.voidrenameTable(TableIdentifier from, TableIdentifier to) Rename a table.voidbooleansetProperties(Namespace namespace, Map<String, String> properties) Set a collection of properties on a namespace in the catalog.Methods inherited from class org.apache.iceberg.BaseMetastoreCatalogbuildTable, close, fullTableName, isValidIdentifier, isValidMetadataIdentifier, loadTable, metricsReporter, registerTable, toStringMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.iceberg.catalog.CatalogcreateTable, createTable, createTable, createTable, dropTable, invalidateTable, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, tableExistsMethods inherited from interface org.apache.iceberg.catalog.SupportsNamespacescreateNamespace, namespaceExists
- 
Field Details- 
PROJECT_ID- See Also:
 
- 
GCP_LOCATION- See Also:
 
- 
LIST_ALL_TABLES- See Also:
 
 
- 
- 
Constructor Details- 
BigQueryMetastoreCatalogpublic BigQueryMetastoreCatalog()
 
- 
- 
Method Details- 
initializeDescription copied from interface:CatalogInitialize a catalog given a custom name and a map of catalog properties.A custom Catalog implementation must have a no-arg constructor. A compute engine like Spark or Flink will first initialize the catalog without any arguments, and then call this method to complete catalog initialization with properties passed into the engine. - Specified by:
- initializein interface- Catalog
- Parameters:
- name- a custom name for the catalog
- properties- catalog properties
 
- 
newTableOps- Specified by:
- newTableOpsin class- BaseMetastoreCatalog
 
- 
defaultWarehouseLocation- Specified by:
- defaultWarehouseLocationin class- BaseMetastoreCatalog
 
- 
listTablesDescription copied from interface:CatalogReturn all the identifiers under this namespace.- Specified by:
- listTablesin interface- Catalog
- Parameters:
- namespace- a namespace
- Returns:
- a list of identifiers for tables
 
- 
dropTableDescription copied from interface:CatalogDrop a table; optionally delete data and metadata files.If purge is set to true the implementation should delete all data and metadata files. 
- 
renameTableDescription copied from interface:CatalogRename a table.- Specified by:
- renameTablein interface- Catalog
- Parameters:
- from- identifier of the table to rename
- to- new table name
 
- 
createNamespaceDescription copied from interface:SupportsNamespacesCreate a namespace in the catalog.- Specified by:
- createNamespacein interface- SupportsNamespaces
- Parameters:
- namespace- a multi-part namespace
- metadata- a string Map of properties for the given namespace
 
- 
listNamespacesDescription copied from interface:SupportsNamespacesList top-level namespaces from the catalog.If an object such as a table, view, or function exists, its parent namespaces must also exist and must be returned by this discovery method. For example, if table a.b.t exists, this method must return ["a"] in the result array. - Specified by:
- listNamespacesin interface- SupportsNamespaces
- Returns:
- a List of namespace Namespacenames
 
- 
listNamespacesSince this catalog only supports one-level namespaces, it always returns an empty list unless passed an empty namespace to list all namespaces within the catalog.- Specified by:
- listNamespacesin interface- SupportsNamespaces
- Returns:
- a List of child Namespacenames from the given namespace
 
- 
dropNamespaceDescription copied from interface:SupportsNamespacesDrop a namespace. If the namespace exists and was dropped, this will return true.- Specified by:
- dropNamespacein interface- SupportsNamespaces
- Parameters:
- namespace- a namespace.- Namespace
- Returns:
- true if the namespace was dropped, false otherwise.
 
- 
setPropertiesDescription copied from interface:SupportsNamespacesSet a collection of properties on a namespace in the catalog.Properties that are not in the given map are not modified or removed by this method. - Specified by:
- setPropertiesin interface- SupportsNamespaces
- Parameters:
- namespace- a namespace.- Namespace
- properties- a collection of metadata to apply to the namespace
 
- 
removePropertiesDescription copied from interface:SupportsNamespacesRemove a set of property keys from a namespace in the catalog.Properties that are not in the given set are not modified or removed by this method. - Specified by:
- removePropertiesin interface- SupportsNamespaces
- Parameters:
- namespace- a namespace.- Namespace
- properties- a collection of metadata to apply to the namespace
 
- 
loadNamespaceMetadataDescription copied from interface:SupportsNamespacesLoad metadata properties for a namespace.- Specified by:
- loadNamespaceMetadatain interface- SupportsNamespaces
- Parameters:
- namespace- a namespace.- Namespace
- Returns:
- a string map of properties for the given namespace
 
- 
nameDescription copied from interface:CatalogReturn the name for this catalog.
- 
properties- Overrides:
- propertiesin class- BaseMetastoreCatalog
 
- 
setConf- Specified by:
- setConfin interface- Configurable<Object>
 
 
-