Package org.apache.iceberg.aws.glue
Class GlueCatalog
java.lang.Object
org.apache.iceberg.BaseMetastoreCatalog
org.apache.iceberg.aws.glue.GlueCatalog
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.iceberg.catalog.Catalog,org.apache.iceberg.catalog.SupportsNamespaces,org.apache.iceberg.hadoop.Configurable<org.apache.hadoop.conf.Configuration>
public class GlueCatalog
extends org.apache.iceberg.BaseMetastoreCatalog
implements org.apache.iceberg.catalog.SupportsNamespaces, org.apache.iceberg.hadoop.Configurable<org.apache.hadoop.conf.Configuration>
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.iceberg.BaseMetastoreCatalog
org.apache.iceberg.BaseMetastoreCatalog.BaseMetastoreCatalogTableBuilderNested classes/interfaces inherited from interface org.apache.iceberg.catalog.Catalog
org.apache.iceberg.catalog.Catalog.TableBuilder -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidcreateNamespace(org.apache.iceberg.catalog.Namespace namespace, Map<String, String> metadata) protected StringdefaultWarehouseLocation(org.apache.iceberg.catalog.TableIdentifier tableIdentifier) This method produces the same result as using a HiveCatalog.booleandropNamespace(org.apache.iceberg.catalog.Namespace namespace) booleandropTable(org.apache.iceberg.catalog.TableIdentifier identifier, boolean purge) voidinitialize(String name, Map<String, String> properties) protected booleanisValidIdentifier(org.apache.iceberg.catalog.TableIdentifier tableIdentifier) List<org.apache.iceberg.catalog.Namespace>listNamespaces(org.apache.iceberg.catalog.Namespace namespace) List<org.apache.iceberg.catalog.TableIdentifier>listTables(org.apache.iceberg.catalog.Namespace namespace) loadNamespaceMetadata(org.apache.iceberg.catalog.Namespace namespace) name()protected org.apache.iceberg.TableOperationsnewTableOps(org.apache.iceberg.catalog.TableIdentifier tableIdentifier) booleanremoveProperties(org.apache.iceberg.catalog.Namespace namespace, Set<String> properties) voidrenameTable(org.apache.iceberg.catalog.TableIdentifier from, org.apache.iceberg.catalog.TableIdentifier to) Rename table in Glue is a drop table and create table.voidsetConf(org.apache.hadoop.conf.Configuration conf) booleansetProperties(org.apache.iceberg.catalog.Namespace namespace, Map<String, String> properties) Methods inherited from class org.apache.iceberg.BaseMetastoreCatalog
buildTable, fullTableName, isValidMetadataIdentifier, loadTable, metricsReporter, registerTable, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.iceberg.catalog.Catalog
createTable, createTable, createTable, createTable, dropTable, invalidateTable, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, registerTable, tableExistsMethods inherited from interface org.apache.iceberg.catalog.SupportsNamespaces
createNamespace, listNamespaces, namespaceExists
-
Constructor Details
-
GlueCatalog
public GlueCatalog()No-arg constructor to load the catalog dynamically.All fields are initialized by calling
initialize(String, Map)later.
-
-
Method Details
-
initialize
- Specified by:
initializein interfaceorg.apache.iceberg.catalog.Catalog
-
newTableOps
protected org.apache.iceberg.TableOperations newTableOps(org.apache.iceberg.catalog.TableIdentifier tableIdentifier) - Specified by:
newTableOpsin classorg.apache.iceberg.BaseMetastoreCatalog
-
defaultWarehouseLocation
protected String defaultWarehouseLocation(org.apache.iceberg.catalog.TableIdentifier tableIdentifier) This method produces the same result as using a HiveCatalog. If databaseUri exists for the Glue database URI, the default location is databaseUri/tableName. If not, the default location is warehousePath/databaseName.db/tableName- Specified by:
defaultWarehouseLocationin classorg.apache.iceberg.BaseMetastoreCatalog- Parameters:
tableIdentifier- table id- Returns:
- default warehouse path
-
listTables
public List<org.apache.iceberg.catalog.TableIdentifier> listTables(org.apache.iceberg.catalog.Namespace namespace) - Specified by:
listTablesin interfaceorg.apache.iceberg.catalog.Catalog
-
dropTable
public boolean dropTable(org.apache.iceberg.catalog.TableIdentifier identifier, boolean purge) - Specified by:
dropTablein interfaceorg.apache.iceberg.catalog.Catalog
-
renameTable
public void renameTable(org.apache.iceberg.catalog.TableIdentifier from, org.apache.iceberg.catalog.TableIdentifier to) Rename table in Glue is a drop table and create table.- Specified by:
renameTablein interfaceorg.apache.iceberg.catalog.Catalog- Parameters:
from- identifier of the table to renameto- new table name
-
createNamespace
public void createNamespace(org.apache.iceberg.catalog.Namespace namespace, Map<String, String> metadata) - Specified by:
createNamespacein interfaceorg.apache.iceberg.catalog.SupportsNamespaces
-
listNamespaces
public List<org.apache.iceberg.catalog.Namespace> listNamespaces(org.apache.iceberg.catalog.Namespace namespace) throws org.apache.iceberg.exceptions.NoSuchNamespaceException - Specified by:
listNamespacesin interfaceorg.apache.iceberg.catalog.SupportsNamespaces- Throws:
org.apache.iceberg.exceptions.NoSuchNamespaceException
-
loadNamespaceMetadata
public Map<String,String> loadNamespaceMetadata(org.apache.iceberg.catalog.Namespace namespace) throws org.apache.iceberg.exceptions.NoSuchNamespaceException - Specified by:
loadNamespaceMetadatain interfaceorg.apache.iceberg.catalog.SupportsNamespaces- Throws:
org.apache.iceberg.exceptions.NoSuchNamespaceException
-
dropNamespace
public boolean dropNamespace(org.apache.iceberg.catalog.Namespace namespace) throws org.apache.iceberg.exceptions.NamespaceNotEmptyException - Specified by:
dropNamespacein interfaceorg.apache.iceberg.catalog.SupportsNamespaces- Throws:
org.apache.iceberg.exceptions.NamespaceNotEmptyException
-
setProperties
public boolean setProperties(org.apache.iceberg.catalog.Namespace namespace, Map<String, String> properties) throws org.apache.iceberg.exceptions.NoSuchNamespaceException- Specified by:
setPropertiesin interfaceorg.apache.iceberg.catalog.SupportsNamespaces- Throws:
org.apache.iceberg.exceptions.NoSuchNamespaceException
-
removeProperties
public boolean removeProperties(org.apache.iceberg.catalog.Namespace namespace, Set<String> properties) throws org.apache.iceberg.exceptions.NoSuchNamespaceException - Specified by:
removePropertiesin interfaceorg.apache.iceberg.catalog.SupportsNamespaces- Throws:
org.apache.iceberg.exceptions.NoSuchNamespaceException
-
isValidIdentifier
protected boolean isValidIdentifier(org.apache.iceberg.catalog.TableIdentifier tableIdentifier) - Overrides:
isValidIdentifierin classorg.apache.iceberg.BaseMetastoreCatalog
-
name
- Specified by:
namein interfaceorg.apache.iceberg.catalog.Catalog
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classorg.apache.iceberg.BaseMetastoreCatalog- Throws:
IOException
-
setConf
public void setConf(org.apache.hadoop.conf.Configuration conf) - Specified by:
setConfin interfaceorg.apache.iceberg.hadoop.Configurable<org.apache.hadoop.conf.Configuration>
-
properties
- Overrides:
propertiesin classorg.apache.iceberg.BaseMetastoreCatalog
-