Class HadoopCatalog

    • Constructor Detail

      • HadoopCatalog

        public HadoopCatalog​(java.lang.String name,
                             org.apache.hadoop.conf.Configuration conf,
                             java.lang.String warehouseLocation)
        The constructor of the HadoopCatalog. It uses the passed location as its warehouse directory.
        Parameters:
        name - The catalog name
        conf - The Hadoop configuration
        warehouseLocation - The location used as warehouse directory
      • HadoopCatalog

        public HadoopCatalog​(org.apache.hadoop.conf.Configuration conf,
                             java.lang.String warehouseLocation)
        The constructor of the HadoopCatalog. It uses the passed location as its warehouse directory.
        Parameters:
        conf - The Hadoop configuration
        warehouseLocation - The location used as warehouse directory
      • HadoopCatalog

        public HadoopCatalog​(org.apache.hadoop.conf.Configuration conf)
        The constructor of the HadoopCatalog. It gets the value of fs.defaultFS property from the passed Hadoop configuration as its default file system, and use the default directory iceberg/warehouse as the warehouse directory.
        Parameters:
        conf - The Hadoop configuration
    • Method Detail

      • listTables

        public java.util.List<TableIdentifier> listTables​(Namespace namespace)
        Description copied from interface: Catalog
        Return all the identifiers under this namespace.
        Specified by:
        listTables in interface Catalog
        Parameters:
        namespace - a namespace
        Returns:
        a list of identifiers for tables
      • createTable

        public Table createTable​(TableIdentifier identifier,
                                 Schema schema,
                                 PartitionSpec spec,
                                 java.lang.String location,
                                 java.util.Map<java.lang.String,​java.lang.String> properties)
        Description copied from interface: Catalog
        Create a table.
        Specified by:
        createTable in interface Catalog
        Overrides:
        createTable in class BaseMetastoreCatalog
        Parameters:
        identifier - a table identifier
        schema - a schema
        spec - a partition spec
        location - a location for the table; leave null if unspecified
        properties - a string map of table properties
        Returns:
        a Table instance
      • dropTable

        public boolean dropTable​(TableIdentifier identifier,
                                 boolean purge)
        Description copied from interface: Catalog
        Drop a table; optionally delete data and metadata files.

        If purge is set to true the implementation should delete all data and metadata files.

        Specified by:
        dropTable in interface Catalog
        Parameters:
        identifier - a table identifier
        purge - if true, delete all data and metadata files in the table
        Returns:
        true if the table was dropped, false if the table did not exist
      • createNamespace

        public void createNamespace​(Namespace namespace,
                                    java.util.Map<java.lang.String,​java.lang.String> meta)
        Description copied from interface: SupportsNamespaces
        Create a namespace in the catalog.
        Specified by:
        createNamespace in interface SupportsNamespaces
        Parameters:
        namespace - a multi-part namespace
        meta - a string Map of properties for the given namespace
      • dropNamespace

        public boolean dropNamespace​(Namespace namespace)
        Description copied from interface: SupportsNamespaces
        Drop a namespace. If the namespace exists and was dropped, this will return true.
        Specified by:
        dropNamespace in interface SupportsNamespaces
        Parameters:
        namespace - a namespace. Namespace
        Returns:
        true if the namespace was dropped, false otherwise.
      • setProperties

        public boolean setProperties​(Namespace namespace,
                                     java.util.Map<java.lang.String,​java.lang.String> properties)
        Description copied from interface: SupportsNamespaces
        Apply a set of metadata to a namespace in the catalog.
        Specified by:
        setProperties in interface SupportsNamespaces
        Parameters:
        namespace - a namespace. Namespace
        properties - a collection of metadata to apply to the namespace
      • removeProperties

        public boolean removeProperties​(Namespace namespace,
                                        java.util.Set<java.lang.String> properties)
        Description copied from interface: SupportsNamespaces
        Remove a set of metadata from a namespace in the catalog.
        Specified by:
        removeProperties in interface SupportsNamespaces
        Parameters:
        namespace - a namespace. Namespace
        properties - a collection of metadata to apply to the namespace
      • loadNamespaceMetadata

        public java.util.Map<java.lang.String,​java.lang.String> loadNamespaceMetadata​(Namespace namespace)
        Description copied from interface: SupportsNamespaces
        Load metadata properties for a namespace.
        Specified by:
        loadNamespaceMetadata in interface SupportsNamespaces
        Parameters:
        namespace - a namespace. Namespace
        Returns:
        a string map of properties for the given namespace
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException