#parquet #command-line #cli #command #command-line-tool

程序 xpq2

分析 Parquet 文件的简单命令行工具

1 个不稳定版本

0.2.2 2023年9月10日

#39 in #parquet

MIT 许可证

90KB
2.5K SLoC

xpq2

xpq2 是 xpq 的分支: https://github.com/FabioBatSilva/xpq

xpq 是一个简单的命令行程序,用于分析 Parquet 文件。

Build Status

分支

xpq2 被分支出来,以便我能够快速尝试对 xpq 的补丁。

我没有维护此分支的意图。它可能会过时,请使用 xpq。

要求

  • Rust 夜间版本

参见 使用夜间 Rust 以安装夜间工具链并将其设置为默认值。

安装

Linux 和 macOS 的二进制文件可在 GitHub 上找到。

要安装二进制文件,请下载 最新版本

curl -s https://api.github.com/repos/FabioBatSilva/xpq/releases/latest \
  | grep "browser_download_url" \
  | grep apple-darwin \
  | cut -d : -f 2,3 \
  | tr -d \" \
  | wget -qi -

使其可执行

chmod +x ./xpq-*-apple-darwin

mv ./xpq-*-apple-darwin /usr/local/bin/xpq

或者,您可以使用 Cargo 编译和安装。

cargo install xpq

您也可以使用 cargo 从源代码编译

cargo install --git https://github.com/FabioBatSilva/xpq.git --force

可用命令

  • read - 读取行。
  • count - 显示行数。
  • schema - 显示 Parquet 架构。
  • sample - 从 Parquet 中随机抽样行。
  • frequency - 显示每个值的频率计数。

快速浏览

获取一些 Parquet 数据

wget -O users.parquet https://github.com/apache/spark/blob/master/examples/src/main/resources/users.parquet?raw=true

检查架构

xpq schema users.parquet

message example.avro.User {
  REQUIRED BYTE_ARRAY name (UTF8);
  OPTIONAL BYTE_ARRAY favorite_color (UTF8);
  REQUIRED group favorite_numbers (LIST) {
    REPEATED INT32 array;
  }
}

检查行数

xpq count users.parquet

 count
 2

读取一些数据

xpq read users.parquet

 name      favorite_color  favorite_numbers
 "Alyssa"  null            [3, 9, 15, 20]
 "Ben"     "red"           []

依赖关系

~26–37MB
~693K SLoC