Package org.apache.iceberg.aws.dynamodb
Class DynamoDbCatalog
- java.lang.Object
-
- org.apache.iceberg.BaseMetastoreCatalog
-
- org.apache.iceberg.aws.dynamodb.DynamoDbCatalog
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.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.ConfigurableDynamoDB implementation of Iceberg catalog
-
-
Constructor Summary
Constructors Constructor Description DynamoDbCatalog()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidcreateNamespace(org.apache.iceberg.catalog.Namespace namespace, java.util.Map<java.lang.String,java.lang.String> metadata)static java.lang.StringdefaultLocationProperty()The property used to set a default location for tables in a namespace.protected java.lang.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(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> properties)java.util.List<org.apache.iceberg.catalog.Namespace>listNamespaces(org.apache.iceberg.catalog.Namespace namespace)java.util.List<org.apache.iceberg.catalog.TableIdentifier>listTables(org.apache.iceberg.catalog.Namespace namespace)java.util.Map<java.lang.String,java.lang.String>loadNamespaceMetadata(org.apache.iceberg.catalog.Namespace namespace)java.lang.Stringname()protected org.apache.iceberg.TableOperationsnewTableOps(org.apache.iceberg.catalog.TableIdentifier tableIdentifier)protected java.util.Map<java.lang.String,java.lang.String>properties()booleanremoveProperties(org.apache.iceberg.catalog.Namespace namespace, java.util.Set<java.lang.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, java.util.Map<java.lang.String,java.lang.String> properties)-
Methods inherited from class org.apache.iceberg.BaseMetastoreCatalog
buildTable, fullTableName, isValidIdentifier, loadTable, metricsReporter, registerTable, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.iceberg.catalog.Catalog
createTable, createTable, createTable, createTable, dropTable, invalidateTable, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newCreateTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, newReplaceTableTransaction, tableExists
-
-
-
-
Method Detail
-
initialize
public void initialize(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> properties)- Specified by:
initializein interfaceorg.apache.iceberg.catalog.Catalog
-
name
public java.lang.String 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 java.lang.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, java.util.Map<java.lang.String,java.lang.String> metadata)- Specified by:
createNamespacein interfaceorg.apache.iceberg.catalog.SupportsNamespaces
-
listNamespaces
public java.util.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 java.util.Map<java.lang.String,java.lang.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, java.util.Map<java.lang.String,java.lang.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, java.util.Set<java.lang.String> properties) throws org.apache.iceberg.exceptions.NoSuchNamespaceException- Specified by:
removePropertiesin interfaceorg.apache.iceberg.catalog.SupportsNamespaces- Throws:
org.apache.iceberg.exceptions.NoSuchNamespaceException
-
listTables
public java.util.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
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classorg.apache.iceberg.BaseMetastoreCatalog- Throws:
java.io.IOException
-
defaultLocationProperty
public static java.lang.String 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
protected java.util.Map<java.lang.String,java.lang.String> properties()
- Overrides:
propertiesin classorg.apache.iceberg.BaseMetastoreCatalog
-
-