public class MigrateTableSparkAction extends java.lang.Object implements MigrateTable
MigrateTable.Result
Modifier and Type | Field and Description |
---|---|
protected static org.apache.iceberg.relocated.com.google.common.base.Joiner |
COMMA_JOINER |
protected static org.apache.iceberg.relocated.com.google.common.base.Splitter |
COMMA_SPLITTER |
protected static java.util.List<java.lang.String> |
EXCLUDED_PROPERTIES |
protected static java.lang.String |
FILE_PATH |
protected static java.lang.String |
ICEBERG_METADATA_FOLDER |
protected static java.lang.String |
LAST_MODIFIED |
protected static java.lang.String |
LOCATION |
protected static java.lang.String |
MANIFEST |
protected static java.lang.String |
MANIFEST_LIST |
protected static java.lang.String |
OTHERS |
protected static java.lang.String |
STATISTICS_FILES |
Modifier and Type | Method and Description |
---|---|
protected java.util.Map<java.lang.String,java.lang.String> |
additionalProperties() |
protected org.apache.spark.sql.Dataset<FileInfo> |
allReachableOtherMetadataFileDS(Table table) |
MigrateTableSparkAction |
backupTableName(java.lang.String tableName)
Sets a table name for the backup of the original table.
|
protected org.apache.spark.sql.connector.catalog.StagingTableCatalog |
checkDestinationCatalog(org.apache.spark.sql.connector.catalog.CatalogPlugin catalog) |
protected org.apache.spark.sql.connector.catalog.TableCatalog |
checkSourceCatalog(org.apache.spark.sql.connector.catalog.CatalogPlugin catalog) |
protected org.apache.spark.sql.Dataset<FileInfo> |
contentFileDS(Table table) |
protected org.apache.spark.sql.Dataset<FileInfo> |
contentFileDS(Table table,
java.util.Set<java.lang.Long> snapshotIds) |
protected org.apache.iceberg.spark.actions.BaseSparkAction.DeleteSummary |
deleteFiles(java.util.concurrent.ExecutorService executorService,
java.util.function.Consumer<java.lang.String> deleteFunc,
java.util.Iterator<FileInfo> files)
Deletes files and keeps track of how many files were removed for each file type.
|
protected org.apache.iceberg.spark.actions.BaseSparkAction.DeleteSummary |
deleteFiles(SupportsBulkOperations io,
java.util.Iterator<FileInfo> files) |
protected org.apache.spark.sql.connector.catalog.StagingTableCatalog |
destCatalog() |
protected org.apache.spark.sql.connector.catalog.Identifier |
destTableIdent() |
protected java.util.Map<java.lang.String,java.lang.String> |
destTableProps() |
MigrateTableSparkAction |
dropBackup()
Drops the backup of the original table after a successful migration
|
protected void |
ensureNameMappingPresent(Table table) |
MigrateTable.Result |
execute()
Executes this action.
|
protected java.lang.String |
getMetadataLocation(Table table) |
protected org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> |
loadMetadataTable(Table table,
MetadataTableType type) |
protected org.apache.spark.sql.Dataset<FileInfo> |
manifestDS(Table table) |
protected org.apache.spark.sql.Dataset<FileInfo> |
manifestDS(Table table,
java.util.Set<java.lang.Long> snapshotIds) |
protected org.apache.spark.sql.Dataset<FileInfo> |
manifestListDS(Table table) |
protected org.apache.spark.sql.Dataset<FileInfo> |
manifestListDS(Table table,
java.util.Set<java.lang.Long> snapshotIds) |
protected JobGroupInfo |
newJobGroupInfo(java.lang.String groupId,
java.lang.String desc) |
protected Table |
newStaticTable(TableMetadata metadata,
FileIO io) |
ThisT |
option(java.lang.String name,
java.lang.String value) |
protected java.util.Map<java.lang.String,java.lang.String> |
options() |
ThisT |
options(java.util.Map<java.lang.String,java.lang.String> newOptions) |
protected org.apache.spark.sql.Dataset<FileInfo> |
otherMetadataFileDS(Table table) |
protected MigrateTableSparkAction |
self() |
protected void |
setProperties(java.util.Map<java.lang.String,java.lang.String> properties) |
protected void |
setProperty(java.lang.String key,
java.lang.String value) |
protected org.apache.spark.sql.connector.catalog.TableCatalog |
sourceCatalog() |
protected org.apache.spark.sql.connector.catalog.Identifier |
sourceTableIdent() |
protected java.lang.String |
sourceTableLocation() |
protected org.apache.spark.sql.SparkSession |
spark() |
protected org.apache.spark.api.java.JavaSparkContext |
sparkContext() |
protected StagedSparkTable |
stageDestTable() |
protected org.apache.spark.sql.Dataset<FileInfo> |
statisticsFileDS(Table table,
java.util.Set<java.lang.Long> snapshotIds) |
MigrateTableSparkAction |
tableProperties(java.util.Map<java.lang.String,java.lang.String> properties)
Sets table properties in the newly created Iceberg table.
|
MigrateTableSparkAction |
tableProperty(java.lang.String property,
java.lang.String value)
Sets a table property in the newly created Iceberg table.
|
protected org.apache.spark.sql.catalyst.catalog.CatalogTable |
v1SourceTable() |
protected <T> T |
withJobGroupInfo(JobGroupInfo info,
java.util.function.Supplier<T> supplier) |
protected static final java.lang.String LOCATION
protected static final java.lang.String ICEBERG_METADATA_FOLDER
protected static final java.util.List<java.lang.String> EXCLUDED_PROPERTIES
protected static final java.lang.String MANIFEST
protected static final java.lang.String MANIFEST_LIST
protected static final java.lang.String STATISTICS_FILES
protected static final java.lang.String OTHERS
protected static final java.lang.String FILE_PATH
protected static final java.lang.String LAST_MODIFIED
protected static final org.apache.iceberg.relocated.com.google.common.base.Splitter COMMA_SPLITTER
protected static final org.apache.iceberg.relocated.com.google.common.base.Joiner COMMA_JOINER
protected MigrateTableSparkAction self()
protected org.apache.spark.sql.connector.catalog.StagingTableCatalog destCatalog()
protected org.apache.spark.sql.connector.catalog.Identifier destTableIdent()
public MigrateTableSparkAction tableProperties(java.util.Map<java.lang.String,java.lang.String> properties)
MigrateTable
tableProperties
in interface MigrateTable
properties
- a map of properties to setpublic MigrateTableSparkAction tableProperty(java.lang.String property, java.lang.String value)
MigrateTable
tableProperty
in interface MigrateTable
property
- a table property namevalue
- a table property valuepublic MigrateTableSparkAction dropBackup()
MigrateTable
dropBackup
in interface MigrateTable
public MigrateTableSparkAction backupTableName(java.lang.String tableName)
MigrateTable
backupTableName
in interface MigrateTable
tableName
- the table name for backuppublic MigrateTable.Result execute()
Action
execute
in interface Action<MigrateTable,MigrateTable.Result>
protected java.util.Map<java.lang.String,java.lang.String> destTableProps()
protected org.apache.spark.sql.connector.catalog.TableCatalog checkSourceCatalog(org.apache.spark.sql.connector.catalog.CatalogPlugin catalog)
protected java.lang.String sourceTableLocation()
protected org.apache.spark.sql.catalyst.catalog.CatalogTable v1SourceTable()
protected org.apache.spark.sql.connector.catalog.TableCatalog sourceCatalog()
protected org.apache.spark.sql.connector.catalog.Identifier sourceTableIdent()
protected void setProperties(java.util.Map<java.lang.String,java.lang.String> properties)
protected void setProperty(java.lang.String key, java.lang.String value)
protected java.util.Map<java.lang.String,java.lang.String> additionalProperties()
protected org.apache.spark.sql.connector.catalog.StagingTableCatalog checkDestinationCatalog(org.apache.spark.sql.connector.catalog.CatalogPlugin catalog)
protected StagedSparkTable stageDestTable()
protected void ensureNameMappingPresent(Table table)
protected java.lang.String getMetadataLocation(Table table)
protected org.apache.spark.sql.SparkSession spark()
protected org.apache.spark.api.java.JavaSparkContext sparkContext()
public ThisT option(java.lang.String name, java.lang.String value)
public ThisT options(java.util.Map<java.lang.String,java.lang.String> newOptions)
protected java.util.Map<java.lang.String,java.lang.String> options()
protected <T> T withJobGroupInfo(JobGroupInfo info, java.util.function.Supplier<T> supplier)
protected JobGroupInfo newJobGroupInfo(java.lang.String groupId, java.lang.String desc)
protected Table newStaticTable(TableMetadata metadata, FileIO io)
protected org.apache.spark.sql.Dataset<FileInfo> contentFileDS(Table table, java.util.Set<java.lang.Long> snapshotIds)
protected org.apache.spark.sql.Dataset<FileInfo> manifestDS(Table table, java.util.Set<java.lang.Long> snapshotIds)
protected org.apache.spark.sql.Dataset<FileInfo> manifestListDS(Table table, java.util.Set<java.lang.Long> snapshotIds)
protected org.apache.spark.sql.Dataset<FileInfo> statisticsFileDS(Table table, java.util.Set<java.lang.Long> snapshotIds)
protected org.apache.spark.sql.Dataset<FileInfo> otherMetadataFileDS(Table table)
protected org.apache.spark.sql.Dataset<FileInfo> allReachableOtherMetadataFileDS(Table table)
protected org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> loadMetadataTable(Table table, MetadataTableType type)
protected org.apache.iceberg.spark.actions.BaseSparkAction.DeleteSummary deleteFiles(java.util.concurrent.ExecutorService executorService, java.util.function.Consumer<java.lang.String> deleteFunc, java.util.Iterator<FileInfo> files)
executorService
- an executor service to use for parallel deletesdeleteFunc
- a delete funcfiles
- an iterator of Spark rows of the structure (path: String, type: String)protected org.apache.iceberg.spark.actions.BaseSparkAction.DeleteSummary deleteFiles(SupportsBulkOperations io, java.util.Iterator<FileInfo> files)