Skip to content

Hardwood

A parser for the Apache Parquet file format, optimized for minimal dependencies and great performance.

Goals of the project are:

  • Light-weight: Implement the Parquet file format avoiding any 3rd party dependencies other than for compression algorithms (e.g. Snappy)
  • Correct: Support all Parquet files which are supported by the canonical parquet-java library
  • Fast: As fast or faster as parquet-java
  • Complete: Add a Parquet file writer (after 1.0)

Latest version: 1.0.0.Alpha1, 2026-02-26

Quick Example

import dev.hardwood.reader.ParquetFileReader;
import dev.hardwood.reader.RowReader;

try (ParquetFileReader fileReader = ParquetFileReader.open(path);
    RowReader rowReader = fileReader.createRowReader()) {

    while (rowReader.hasNext()) {
        rowReader.next();

        long id = rowReader.getLong("id");
        String name = rowReader.getString("name");
        LocalDate birthDate = rowReader.getDate("birth_date");
        Instant createdAt = rowReader.getTimestamp("created_at");
    }
}

See Getting Started for installation and setup.