Class SparkOrcWriter

java.lang.Object
org.apache.iceberg.spark.data.SparkOrcWriter
All Implemented Interfaces:
OrcRowWriter<org.apache.spark.sql.catalyst.InternalRow>

public class SparkOrcWriter extends Object implements OrcRowWriter<org.apache.spark.sql.catalyst.InternalRow>
This class acts as an adaptor from an OrcFileAppender to a FileAppender<InternalRow>.
  • Constructor Details

    • SparkOrcWriter

      public SparkOrcWriter(Schema iSchema, org.apache.orc.TypeDescription orcSchema)
  • Method Details

    • write

      public void write(org.apache.spark.sql.catalyst.InternalRow value, org.apache.orc.storage.ql.exec.vector.VectorizedRowBatch output)
      Description copied from interface: OrcRowWriter
      Writes or appends a row to ORC's VectorizedRowBatch.
      Specified by:
      write in interface OrcRowWriter<org.apache.spark.sql.catalyst.InternalRow>
      Parameters:
      value - the row data value to write.
      output - the VectorizedRowBatch to which the output will be written.
    • writers

      public List<OrcValueWriter<?>> writers()
      Specified by:
      writers in interface OrcRowWriter<org.apache.spark.sql.catalyst.InternalRow>
    • metrics

      public Stream<FieldMetrics<?>> metrics()
      Description copied from interface: OrcRowWriter
      Returns a stream of FieldMetrics that this OrcRowWriter keeps track of.
      Specified by:
      metrics in interface OrcRowWriter<org.apache.spark.sql.catalyst.InternalRow>