0

我下载并构建了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

4

2 回答 2

3

下载 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
于 2019-01-28T15:44:57.233 回答
0

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 版本对此进行了测试。)

于 2018-11-15T12:26:28.780 回答