Package com.illumon.iris.importers
Interface ImportTableWriterFactory
- All Known Implementing Classes:
AppendingImportTableWriterFactory
,DirectoryImportTableFactory
,ImportTableWriterFactoryBase
,MultiPartitionImportTableWriterFactory
,PreviewTableImportTableWriterFactory
,SinglePartitionImportTableFactory
public interface ImportTableWriterFactory
A Factory to generate
TableWriter
s for use with various importers.-
Method Summary
Modifier and TypeMethodDescriptiondefault String
getComputedColumnPartition
(String inputColumnPartition) The method is invoked to determine the partition value to which the current row of data needs to be associated.default LocalAppendableTable
getLocalAppendableTable
(String columnPartitionValue, boolean forceAppend) Returns theLocalAppendableTable
for given column partition value.Get the table definition associated with the table that will be written.getTableDestination
(String columnPartitionValue) Get aFile
representing the path where the table will be written.default TableWriter
getTableWriter
(String columnPartitionValue) Get aTableWriter
that will replace the specified column partition.getTableWriter
(String columnPartitionValue, boolean append) Get aTableWriter
for the table and specified partition, optionally appending.
-
Method Details
-
getTableDefinition
TableDefinition getTableDefinition()Get the table definition associated with the table that will be written.- Returns:
- the table definition.
-
getTableWriter
Get aTableWriter
for the table and specified partition, optionally appending.- Parameters:
columnPartitionValue
- the column partition to use. Some implementations allow nulls.append
- if the table should be appended or replaced.- Returns:
- an appropriate
TableWriter
-
getTableDestination
Get aFile
representing the path where the table will be written.- Parameters:
columnPartitionValue
- the column partition to find the destination for- Returns:
- a file at the path the table will be written.
-
getLocalAppendableTable
@NotNull default LocalAppendableTable getLocalAppendableTable(String columnPartitionValue, boolean forceAppend) Returns theLocalAppendableTable
for given column partition value.- Parameters:
columnPartitionValue
- the column partition to use. Some implementations allow nulls.forceAppend
- When true, the LocalAppendableTable will be initialized to append to any existing data. When false, append/replace/fail behavior is implementation defined.- Returns:
- Returned appropriate
LocalAppendableTable
for column partition value.
-
getTableWriter
Get aTableWriter
that will replace the specified column partition. This is the same as callinggetTableWriter(String, boolean)
withfalse
.- Parameters:
columnPartitionValue
- the column partition- Returns:
- an appropriate
TableWriter
-
getComputedColumnPartition
The method is invoked to determine the partition value to which the current row of data needs to be associated. So in the case where user wants a single partition value for the import this should return that value. In other cases this may simply return the passed in value, however, it is possible to returnnull
indicating that there is no valid column partition.- Parameters:
inputColumnPartition
- the requested input partition- Returns:
- the computed column partition
-