Package org.apache.iceberg.hadoop
Class HadoopTables
java.lang.Object
org.apache.iceberg.hadoop.HadoopTables
- All Implemented Interfaces:
org.apache.hadoop.conf.Configurable
,Tables
Implementation of Iceberg tables that uses the Hadoop FileSystem to store metadata and manifests.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuildTable
(String location, Schema schema) create
(Schema schema, PartitionSpec spec, SortOrder order, Map<String, String> properties, String location) Create a table using the FileSystem implementation resolve from location.boolean
Drop a table and delete all data and metadata files.boolean
Drop a table; optionally delete data and metadata files.boolean
org.apache.hadoop.conf.Configuration
getConf()
Loads the table location from a FileSystem path location.newCreateTableTransaction
(String location, Schema schema, PartitionSpec spec, Map<String, String> properties) Start a transaction to create a table.newReplaceTableTransaction
(String location, Schema schema, PartitionSpec spec, Map<String, String> properties, boolean orCreate) Start a transaction to replace a table.void
setConf
(org.apache.hadoop.conf.Configuration conf)
-
Field Details
-
LOCK_PROPERTY_PREFIX
- See Also:
-
-
Constructor Details
-
HadoopTables
public HadoopTables() -
HadoopTables
public HadoopTables(org.apache.hadoop.conf.Configuration conf)
-
-
Method Details
-
load
Loads the table location from a FileSystem path location. -
exists
-
create
public Table create(Schema schema, PartitionSpec spec, SortOrder order, Map<String, String> properties, String location) Create a table using the FileSystem implementation resolve from location.- Specified by:
create
in interfaceTables
- Parameters:
schema
- iceberg schema used to create the tablespec
- partitioning spec, if null the table will be unpartitionedproperties
- a string map of table properties, initialized to empty if nulllocation
- a path URI (e.g. hdfs:///warehouse/my_table)- Returns:
- newly created table implementation
-
dropTable
Drop a table and delete all data and metadata files.- Parameters:
location
- a path URI (e.g. hdfs:///warehouse/my_table)- Returns:
- true if the table was dropped, false if it did not exist
-
dropTable
Drop a table; optionally delete data and metadata files.If purge is set to true the implementation should delete all data and metadata files.
- Parameters:
location
- a path URI (e.g. hdfs:///warehouse/my_table)purge
- if true, delete all data and metadata files in the table- Returns:
- true if the table was dropped, false if it did not exist
-
newCreateTableTransaction
public Transaction newCreateTableTransaction(String location, Schema schema, PartitionSpec spec, Map<String, String> properties) Start a transaction to create a table.- Parameters:
location
- a location for the tableschema
- a schemaspec
- a partition specproperties
- a string map of table properties- Returns:
- a
Transaction
to create the table - Throws:
AlreadyExistsException
- if the table already exists
-
newReplaceTableTransaction
public Transaction newReplaceTableTransaction(String location, Schema schema, PartitionSpec spec, Map<String, String> properties, boolean orCreate) Start a transaction to replace a table.- Parameters:
location
- a location for the tableschema
- a schemaspec
- a partition specproperties
- a string map of table propertiesorCreate
- whether to create the table if not exists- Returns:
- a
Transaction
to replace the table - Throws:
NoSuchTableException
- if the table doesn't exist and orCreate is false
-
buildTable
-
setConf
public void setConf(org.apache.hadoop.conf.Configuration conf) - Specified by:
setConf
in interfaceorg.apache.hadoop.conf.Configurable
-
getConf
public org.apache.hadoop.conf.Configuration getConf()- Specified by:
getConf
in interfaceorg.apache.hadoop.conf.Configurable
-