Skip to content

unexge/parzig

Repository files navigation

parzig

A Parquet parser written in Zig using only the standard library.

Usage

const parzig = @import("parzig");

var file = try parzig.parquet.File.read(allocator, &file_reader);
defer file.deinit();

var rg = file.rowGroup(0);

// Static typing: specify type at compile time
const values = try rg.readColumn(i64, 0);
const nullable = try rg.readColumn(?i64, 1);

// Dynamic typing: type determined at runtime
const dynamic = try rg.readColumnDynamic(0);
switch (dynamic) {
    .int64 => |data| // ...
    .byte_array => |data| // ...
    // ...
}

// Nested types
const list = try rg.readListColumn(i32, 0);
const map = try rg.readMapColumn([]const u8, i64, 0, 1);

About

A Parquet parser written in Zig

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •