我该如何在命令行中检查Parquet文件的内容?
目前我所看到的唯一选项是:
$ hadoop fs -get my-path local-file
$ parquet-tools head local-file | less
我希望避免创建local-file
并且以JSON
格式查看文件内容,而不是parquet-tools
打印的无类型文本。有简单的方法吗?
我该如何在命令行中检查Parquet文件的内容?
目前我所看到的唯一选项是:
$ hadoop fs -get my-path local-file
$ parquet-tools head local-file | less
我希望避免创建local-file
并且以JSON
格式查看文件内容,而不是parquet-tools
打印的无类型文本。有简单的方法吗?
我宁愿使用hdfs NFS网关+autofs来方便地进行hdfs文件调查。
我的设置:
/net -hosts nobind
我可以轻松运行以下命令来查看任何HDFS文件
head /net/<namenodeIP>/path/to/hdfs/file
parquet-tools head /net/<namenodeIP>/path/to/hdfs/par-file
rsync -rv /local/directory/ /net/<namenodeIP>/path/to/hdfs/parentdir/
别再管hadoop* hdfs*命令啦 ;)
pip install "clidb[extras]"
clidb path/with/data
parquet-reader
:
安装了Ubuntu LTS 18.04的WSL。将gcc升级到v9.2.1并将CMake升级到最新版本。额外奖励:安装Windows终端。
git checkout https://github.com/apache/arrow
cd arrow
cd cpp
mkdir buildgcc
cd buildgcc
cmake .. -DPARQUET_BUILD_EXECUTABLES=ON -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON -DARROW_WITH_BROTLI=ON -DPARQUET_BUILD_EXAMPLES=ON -DARROW_CSV=ON
make -j 20
cd release
./parquet-reader
Usage: parquet-reader [--only-metadata] [--no-memory-map] [--json] [--dump] [--print-key-value-metadata] [--columns=...] <file>
如果在构建时遇到问题,可能需要使用 vcpkg
搜索缺失的库。
还可以看一下另一个提供更简单解决方案的项目:https://github.com/chhantyal/parquet-cli
源自链接:如何在不缓冲的情况下使用 parquet-cpp 写入流式/行定向数据?
最初尝试使用 brew install parquet-tools
,但在我的 WSL 安装下似乎无法正常工作。
与上面相同。使用 CMake 生成 Visual Studio 2019 项目,然后进行构建。
git checkout https://github.com/apache/arrow
cd arrow
cd cpp
mkdir buildmsvc
cd buildmsvc
cmake .. -DPARQUET_BUILD_EXECUTABLES=ON -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON -DARROW_WITH_BROTLI=ON -DPARQUET_BUILD_EXAMPLES=ON -DARROW_CSV=ON
# Then open the generated .sln file in MSVC and build. Everything should build perfectly.
故障排除:
如果有任何缺失的库,我会将其指向我的vcpkg
安装。我运行了vcpkg integrate install
,然后将其复制到CMake
行的末尾:
-DCMAKE_TOOLCHAIN_FILE=[...path...]/vcpkg/scripts/buildsystems
vcpkg install boost:x64
安装这些库,例如 boost
。