Class WriterDelta

java.lang.Object
org.apache.sysds.runtime.io.MatrixWriter
org.apache.sysds.runtime.io.WriterDelta

public class WriterDelta extends MatrixWriter
Single-threaded native Delta Lake writer for matrices, built on the Spark-free Delta Kernel library. It creates a Delta table at the target directory with an all-double schema c0..c(n-1) (replacing any existing table at that path), streams the MatrixBlock rows as columnar batches into parquet data files via the kernel's default engine, and commits the corresponding add-file actions to the transaction log.
  • Constructor Details

    • WriterDelta

      public WriterDelta()
  • Method Details

    • writeMatrixToHDFS

      public void writeMatrixToHDFS(MatrixBlock src, String fname, long rlen, long clen, int blen, long nnz, boolean diag) throws IOException
      Specified by:
      writeMatrixToHDFS in class MatrixWriter
      Throws:
      IOException
    • writeEmptyMatrixToHDFS

      public void writeEmptyMatrixToHDFS(String fname, long rlen, long clen, int blen) throws IOException
      Description copied from class: MatrixWriter
      Writes a minimal entry to represent an empty matrix on hdfs.
      Specified by:
      writeEmptyMatrixToHDFS in class MatrixWriter
      Parameters:
      fname - file name
      rlen - number of rows
      clen - number of columns
      blen - number of rows/cols in block
      Throws:
      IOException - if IOException occurs
    • writeMatrixFromStream

      public long writeMatrixFromStream(String fname, OOCStream<IndexedMatrixValue> stream, long rlen, long clen, int blen) throws IOException
      Description copied from class: MatrixWriter
      Consumes an out-of-core stream of matrix blocks and writes them to the target output path. Implementations may choose single-file or multipart output depending on format and parallelism.
      Specified by:
      writeMatrixFromStream in class MatrixWriter
      Parameters:
      fname - The target output filename
      stream - The OOC stream of matrix blocks to consume
      rlen - The total number of rows in the matrix
      clen - The total number of columns in the matrix
      blen - The block size
      Throws:
      IOException - if an I/O error occurs