【问题标题】:Using parquet tools on files in hdfs在 hdfs 中的文件上使用镶木地板工具
【发布时间】:2018-11-14 19:37:19
【问题描述】:

我下载并构建了 https://github.com/apache/parquet-mr 的 parquet-1.5.0。

我现在想对 hdfs 中的 parquet 文件运行一些命令。我试过这个:

cd ~/parquet-mr/parquet-tools/src/main/scripts
./parquet-tools meta hdfs://localhost/my_parquet_file.parquet

我得到了:

错误:无法找到或加载主类 parquet.tools.Main

【问题讨论】:

  • 回答有用吗?

标签: maven hdfs parquet parquet-mr


【解决方案1】:

下载jar 从 maven repo 或您选择的任何位置下载 jar。只是谷歌它。发这篇文章的时候我可以从这里得到 parquet-tools。

如果您已登录 hadoop 框:

wgethttp://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 文件的内容-

检查 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

【讨论】:

  • 你觉得这个解决方案有用吗?
【解决方案2】:

该脚本是基于以下假设构建的: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-05-06
    • 2017-03-17
    • 2019-04-17
    • 2016-10-07
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 2016-07-07
    • 2017-03-17
    相关资源
    最近更新 更多