Class BaseFileWriterFactory<T>

  • All Implemented Interfaces:
    org.apache.iceberg.io.FileWriterFactory<T>

    public abstract class BaseFileWriterFactory<T>
    extends java.lang.Object
    implements org.apache.iceberg.io.FileWriterFactory<T>
    A base writer factory to be extended by query engine integrations.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BaseFileWriterFactory​(org.apache.iceberg.Table table, org.apache.iceberg.FileFormat dataFileFormat, org.apache.iceberg.Schema dataSchema, org.apache.iceberg.SortOrder dataSortOrder, org.apache.iceberg.FileFormat deleteFileFormat, int[] equalityFieldIds, org.apache.iceberg.Schema equalityDeleteRowSchema, org.apache.iceberg.SortOrder equalityDeleteSortOrder, org.apache.iceberg.Schema positionDeleteRowSchema)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract void configureDataWrite​(org.apache.iceberg.avro.Avro.DataWriteBuilder builder)  
      protected abstract void configureDataWrite​(org.apache.iceberg.orc.ORC.DataWriteBuilder builder)  
      protected abstract void configureDataWrite​(org.apache.iceberg.parquet.Parquet.DataWriteBuilder builder)  
      protected abstract void configureEqualityDelete​(org.apache.iceberg.avro.Avro.DeleteWriteBuilder builder)  
      protected abstract void configureEqualityDelete​(org.apache.iceberg.orc.ORC.DeleteWriteBuilder builder)  
      protected abstract void configureEqualityDelete​(org.apache.iceberg.parquet.Parquet.DeleteWriteBuilder builder)  
      protected abstract void configurePositionDelete​(org.apache.iceberg.avro.Avro.DeleteWriteBuilder builder)  
      protected abstract void configurePositionDelete​(org.apache.iceberg.orc.ORC.DeleteWriteBuilder builder)  
      protected abstract void configurePositionDelete​(org.apache.iceberg.parquet.Parquet.DeleteWriteBuilder builder)  
      protected org.apache.iceberg.Schema dataSchema()  
      protected org.apache.iceberg.Schema equalityDeleteRowSchema()  
      org.apache.iceberg.io.DataWriter<T> newDataWriter​(org.apache.iceberg.encryption.EncryptedOutputFile file, org.apache.iceberg.PartitionSpec spec, org.apache.iceberg.StructLike partition)  
      org.apache.iceberg.deletes.EqualityDeleteWriter<T> newEqualityDeleteWriter​(org.apache.iceberg.encryption.EncryptedOutputFile file, org.apache.iceberg.PartitionSpec spec, org.apache.iceberg.StructLike partition)  
      org.apache.iceberg.deletes.PositionDeleteWriter<T> newPositionDeleteWriter​(org.apache.iceberg.encryption.EncryptedOutputFile file, org.apache.iceberg.PartitionSpec spec, org.apache.iceberg.StructLike partition)  
      protected org.apache.iceberg.Schema positionDeleteRowSchema()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BaseFileWriterFactory

        protected BaseFileWriterFactory​(org.apache.iceberg.Table table,
                                        org.apache.iceberg.FileFormat dataFileFormat,
                                        org.apache.iceberg.Schema dataSchema,
                                        org.apache.iceberg.SortOrder dataSortOrder,
                                        org.apache.iceberg.FileFormat deleteFileFormat,
                                        int[] equalityFieldIds,
                                        org.apache.iceberg.Schema equalityDeleteRowSchema,
                                        org.apache.iceberg.SortOrder equalityDeleteSortOrder,
                                        org.apache.iceberg.Schema positionDeleteRowSchema)
    • Method Detail

      • configureDataWrite

        protected abstract void configureDataWrite​(org.apache.iceberg.avro.Avro.DataWriteBuilder builder)
      • configureEqualityDelete

        protected abstract void configureEqualityDelete​(org.apache.iceberg.avro.Avro.DeleteWriteBuilder builder)
      • configurePositionDelete

        protected abstract void configurePositionDelete​(org.apache.iceberg.avro.Avro.DeleteWriteBuilder builder)
      • configureDataWrite

        protected abstract void configureDataWrite​(org.apache.iceberg.parquet.Parquet.DataWriteBuilder builder)
      • configureEqualityDelete

        protected abstract void configureEqualityDelete​(org.apache.iceberg.parquet.Parquet.DeleteWriteBuilder builder)
      • configurePositionDelete

        protected abstract void configurePositionDelete​(org.apache.iceberg.parquet.Parquet.DeleteWriteBuilder builder)
      • configureDataWrite

        protected abstract void configureDataWrite​(org.apache.iceberg.orc.ORC.DataWriteBuilder builder)
      • configureEqualityDelete

        protected abstract void configureEqualityDelete​(org.apache.iceberg.orc.ORC.DeleteWriteBuilder builder)
      • configurePositionDelete

        protected abstract void configurePositionDelete​(org.apache.iceberg.orc.ORC.DeleteWriteBuilder builder)
      • newDataWriter

        public org.apache.iceberg.io.DataWriter<T> newDataWriter​(org.apache.iceberg.encryption.EncryptedOutputFile file,
                                                                 org.apache.iceberg.PartitionSpec spec,
                                                                 org.apache.iceberg.StructLike partition)
        Specified by:
        newDataWriter in interface org.apache.iceberg.io.FileWriterFactory<T>
      • newEqualityDeleteWriter

        public org.apache.iceberg.deletes.EqualityDeleteWriter<T> newEqualityDeleteWriter​(org.apache.iceberg.encryption.EncryptedOutputFile file,
                                                                                          org.apache.iceberg.PartitionSpec spec,
                                                                                          org.apache.iceberg.StructLike partition)
        Specified by:
        newEqualityDeleteWriter in interface org.apache.iceberg.io.FileWriterFactory<T>
      • newPositionDeleteWriter

        public org.apache.iceberg.deletes.PositionDeleteWriter<T> newPositionDeleteWriter​(org.apache.iceberg.encryption.EncryptedOutputFile file,
                                                                                          org.apache.iceberg.PartitionSpec spec,
                                                                                          org.apache.iceberg.StructLike partition)
        Specified by:
        newPositionDeleteWriter in interface org.apache.iceberg.io.FileWriterFactory<T>
      • dataSchema

        protected org.apache.iceberg.Schema dataSchema()
      • equalityDeleteRowSchema

        protected org.apache.iceberg.Schema equalityDeleteRowSchema()
      • positionDeleteRowSchema

        protected org.apache.iceberg.Schema positionDeleteRowSchema()