34个版本
0.18.1 | 2024年6月8日 |
---|---|
0.17.10 | 2024年2月5日 |
0.17.8 | 2023年12月20日 |
0.17.3 | 2023年11月20日 |
0.1.2 | 2021年3月29日 |
#820 in 编码
19KB
283 行
JSON到Parquet
将JSON/JSONL文件转换为Apache Parquet。此包是Arrow CLI工具的一部分。
安装
下载预构建的二进制文件
您可以从https://github.com/domoritz/arrow-tools/releases 获取最新版本。
使用Homebrew
brew install domoritz/homebrew-tap/json2parquet
使用Cargo
cargo install json2parquet
使用Cargo B(inary)Install
为了避免重新编译并加快安装速度,您可以使用cargo binstall
安装此工具
cargo binstall json2parquet
使用方法
Usage: json2parquet [OPTIONS] <JSON> <PARQUET>
Arguments:
<JSON> Input JSON file, stdin if not present
<PARQUET> Output file
Options:
-s, --schema-file <SCHEMA_FILE>
File with Arrow schema in JSON format
--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
-c, --compression <COMPRESSION>
Set the compression [possible values: uncompressed, snappy, gzip, lzo, brotli, lz4, zstd, lz4-raw]
-e, --encoding <ENCODING>
Sets encoding for any column [possible values: plain, plain-dictionary, rle, rle-dictionary, delta-binary-packed, delta-length-byte-array, delta-byte-array, byte-stream-split]
--data-page-size-limit <DATA_PAGE_SIZE_LIMIT>
Sets data page size limit
--dictionary-page-size-limit <DICTIONARY_PAGE_SIZE_LIMIT>
Sets dictionary page size limit
--write-batch-size <WRITE_BATCH_SIZE>
Sets write batch size
--max-row-group-size <MAX_ROW_GROUP_SIZE>
Sets max size for a row group
--created-by <CREATED_BY>
Sets "created by" property
--dictionary
Sets flag to enable/disable dictionary encoding for any column
--statistics <STATISTICS>
Sets flag to enable/disable statistics for any column [possible values: none, chunk, page]
--max-statistics-size <MAX_STATISTICS_SIZE>
Sets max statistics size for any column. Applicable only if statistics are enabled
-p, --print-schema
Print the schema to stderr
-n, --dry
Only print the schema
-h, --help
Print help
-V, --version
Print version
–schema-file选项使用与–dry和–print-schema相同的文件格式。
示例
有关使用示例,请参阅csv2parquet
示例,它们具有类似界面。
限制
由于我们使用Arrow JSON加载器,因此受到其支持的限制。目前,它支持JSON行分隔文件。
{ "a": 42, "b": true }
{ "a": 12, "b": false }
{ "a": 7, "b": true }
依赖关系
~35MB
~690K SLoC