我下载并构建了https://github.com/apache/parquet-mr的 parquet-1.5.0 。
我现在想在 hdfs 中的镶木地板文件上运行一些命令。我试过这个:
cd ~/parquet-mr/parquet-tools/src/main/scripts
./parquet-tools meta hdfs://localhost/my_parquet_file.parquet
我得到了:
错误:无法找到或加载主类 parquet.tools.Main
我下载并构建了https://github.com/apache/parquet-mr的 parquet-1.5.0 。
我现在想在 hdfs 中的镶木地板文件上运行一些命令。我试过这个:
cd ~/parquet-mr/parquet-tools/src/main/scripts
./parquet-tools meta hdfs://localhost/my_parquet_file.parquet
我得到了:
错误:无法找到或加载主类 parquet.tools.Main
下载 jar 从 maven repo 或您选择的任何位置下载 jar。只是谷歌它。这篇文章的时间我可以从这里得到镶木地板工具。
如果您已登录 hadoop 框:
wget http://central.maven.org/maven2/org/apache/parquet/parquet-tools/1.9.0/parquet-tools-1.9.0.jar
此链接可能会在几天后停止工作。所以从 maven repo 获取新链接。
构建 jar 如果您无法下载 jar,您也可以从源代码构建 jar。克隆 parquet-mr 存储库并从源代码构建 jar
git 克隆https://github.com/apache/parquet-mr
mvn 清洁包
注意:您需要在您的盒子上使用 Maven 来构建源代码。
读取 parquet 文件您可以使用这些命令查看 parquet 文件的内容-
检查 s3/hdfs 文件的架构:
hadoop jar parquet-tools-1.9.0.jar schema s3://path/to/file.snappy.parquet
hadoop jar parquet-tools-1.9.0.jar schema hdfs://path/to/file.snappy.parquet
头文件内容:
hadoop jar parquet-tools-1.9.0.jar head -n5 s3://path/to/file.snappy.parquet
查看本地文件内容:
java -jar parquet-tools-1.9.0.jar head -n5 /tmp/path/to/file.snappy.parquet
java -jar parquet-tools-1.9.0.jar schema /tmp/path/to/file.snappy.parquet
更多命令:
hadoop jar parquet-tools-1.9.0.jar –help
parquet-tools-<version>.jar
该脚本是基于位于lib
脚本文件本身旁边的目录中的假设构建的,如下所示:
$ find -type f
./parquet-tools
./lib/parquet-tools-1.10.1-SNAPSHOT.jar
您可以通过从 parquet-mr git repo 的根目录发出以下命令来设置这样的文件布局(当然,许多替代方法和安装位置都是可能的):
mkdir -p ~/.local/share/parquet-tools/lib
cp parquet-tools/src/main/scripts/parquet-tools ~/.local/share/parquet-tools/
cp parquet-tools/target/parquet-tools-1.5.0.jar ~/.local/share/parquet-tools/lib
在此之后您可以运行~/.local/share/parquet-tools/parquet-tools
. (我使用 1.10.1-SNAPSHOT 版本而不是 1.5.0 版本对此进行了测试。)