Package org.apache.iceberg.aws.dynamodb
Class DynamoDbCatalog
java.lang.Object
org.apache.iceberg.BaseMetastoreCatalog
org.apache.iceberg.aws.dynamodb.DynamoDbCatalog
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.hadoop.conf.Configurable,org.apache.iceberg.catalog.Catalog,org.apache.iceberg.catalog.SupportsNamespaces
public class DynamoDbCatalog
extends org.apache.iceberg.BaseMetastoreCatalog
implements org.apache.iceberg.catalog.SupportsNamespaces, org.apache.hadoop.conf.Configurable
DynamoDB implementation of Iceberg catalog
-
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) static StringThe property used to set a default location for tables in a namespace.protected StringdefaultWarehouseLocation(org.apache.iceberg.catalog.TableIdentifier tableIdentifier) booleandropNamespace(org.apache.iceberg.catalog.Namespace namespace) booleandropTable(org.apache.iceberg.catalog.TableIdentifier identifier, boolean purge) org.apache.hadoop.conf.ConfigurationgetConf()voidinitialize(String name, Map<String, String> properties) 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) 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, isValidIdentifier, 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
-
DynamoDbCatalog
public DynamoDbCatalog()
-
-
Method Details
-
initialize
- Specified by:
initializein interfaceorg.apache.iceberg.catalog.Catalog
-
name
- Specified by:
namein 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) - Specified by:
defaultWarehouseLocationin classorg.apache.iceberg.BaseMetastoreCatalog
-
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
-
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) - Specified by:
renameTablein interfaceorg.apache.iceberg.catalog.Catalog
-
setConf
public void setConf(org.apache.hadoop.conf.Configuration conf) - Specified by:
setConfin interfaceorg.apache.hadoop.conf.Configurable
-
getConf
public org.apache.hadoop.conf.Configuration getConf()- Specified by:
getConfin interfaceorg.apache.hadoop.conf.Configurable
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classorg.apache.iceberg.BaseMetastoreCatalog- Throws:
IOException
-
defaultLocationProperty
The property used to set a default location for tables in a namespace. CallsetProperties(Namespace, Map)to set a path value using this property for a namespace, then all tables in the namespace will have default table root path under that given path.- Returns:
- default location property key
-
properties
- Overrides:
propertiesin classorg.apache.iceberg.BaseMetastoreCatalog
-