json2arrow

Crates.iojson2arrow
lib.rsjson2arrow
version0.19.0
sourcesrc
created_at2021-02-28 09:10:01.808727
updated_at2024-09-18 02:08:52.969487
descriptionConvert JSON files to Arrow
homepagehttps://github.com/domoritz/arrow-tools/tree/main/crates/json2arrow
repositoryhttps://github.com/domoritz/arrow-tools
max_upload_size
id361724
size40,669
Lukas Hermann (lsh)

documentation

README

JSON to Arrow

Crates.io

Convert JSON files to Apache Arrow. This package is part of Arrow CLI tools.

Installation

Download prebuilt binaries

You can get the latest releases from https://github.com/domoritz/arrow-tools/releases.

With Homebrew

brew install domoritz/homebrew-tap/json2arrow

With Cargo

cargo install json2arrow

With Cargo B(inary)Install

To avoid re-compilation and speed up installation, you can install this tool with cargo binstall:

cargo binstall json2arrow

Usage

Usage: json2arrow [OPTIONS] <JSON> [ARROW]

Arguments:
  <JSON>   Input JSON file, stdin if not present
  [ARROW]  Output file, stdout if not present

Options:
  -s, --schema-file <SCHEMA_FILE>
          File with Arrow schema in JSON format
  -m, --max-read-records <MAX_READ_RECORDS>
          The number of records to infer the schema from. All rows if not present. Setting max-read-records to zero will stop schema inference and all columns will be string typed
  -p, --print-schema
          Print the schema to stderr
  -n, --dry
          Only print the schema
  -h, --help
          Print help
  -V, --version
          Print version

The --schema-file option uses the same file format as --dry and --print-schema.

Examples

For usage examples, see the csv2parquet examples which shares a similar interface.

Limitations

Since we use the Arrow JSON loader, we are limited to what it supports. Right now, it supports JSON line-delimited files.

{ "a": 42, "b": true }
{ "a": 12, "b": false }
{ "a": 7, "b": true }
Commit count: 141

cargo fmt