DatasetView

DatasetView

Composite façade that fans out output operations to two independent backends:

  • CSVView — streaming‑first CSV (owns buffering + canonical sort/rewrite).

  • ParquetView — streaming‑first Parquet (keeps its own buffers + final write).

Public surface

  • print — final snapshot writer (CSV + Parquet).

  • appendCardinality — streaming append of per‑generation cardinalities (FUN/VAR).

  • replaceTopBatch — streaming update of top‑solutions blocks (TOP).

  • closeStreams — finalize and write sorted/merged artifacts for both backends.

Path helpers

  • CSV path helpers are delegated to CSVView and preserve the original naming scheme.

  • Parquet helpers are provided here for logging/UX convenience and mirror CSV layouts.

  • All merged artifacts are emitted under /CSV/ and /Parquet/ subfolders.

Constructors

Link copied to clipboard
constructor()

Functions

Link copied to clipboard

Stream one cardinality event into both CSV and Parquet backends.

Link copied to clipboard

Finalize both backends:

Link copied to clipboard
fun getAggregatedDataFilePath(model: DatasetModel, isTargetAll: Boolean = false): String
Link copied to clipboard
fun getAggregatedDataMergedFilePath(model: DatasetModel, isTargetAll: Boolean = false): String
Link copied to clipboard
Link copied to clipboard
fun getAggregatedDataParquetPath(model: DatasetModel, isTargetAll: Boolean = false): String

Mirrors the CSV FINAL table location under /Parquet/.

Link copied to clipboard
fun getInfoFilePath(model: DatasetModel, isTargetAll: Boolean = false): String
Link copied to clipboard
fun getInfoMergedFilePath(model: DatasetModel, isTargetAll: Boolean = false): String
Link copied to clipboard
fun getInfoMergedParquetPath(model: DatasetModel, isTargetAll: Boolean = false): String
Link copied to clipboard
fun getInfoParquetPath(model: DatasetModel, isTargetAll: Boolean = false): String

Mirrors the CSV INFO table location under /Parquet/.

Link copied to clipboard
Link copied to clipboard
fun print(runResult: Triple<List<BinarySolution>, List<BinarySolution>, Triple<String, String, Long>>, model: DatasetModel)

Write final snapshot artifacts for a completed run to both CSV and Parquet.

Link copied to clipboard
fun replaceTopBatch(model: DatasetModel, blocks: Map<Int, List<String>>)

Replace a batch of top solutions blocks (per K) in both CSV and Parquet backends.

Link copied to clipboard
fun writeCsv(csvRows: List<Array<String>>, resultCsvPath: String)

Thin CSV passthrough.

Link copied to clipboard
fun writeParquet(rows: List<Array<String>>, resultParquetPath: String)

Generic Parquet table writer for Final tables.