我正在尝试在FreeBSD机器上安装镶木地板工具。
我克隆了这个仓库:git clone https://github.com/apache/parquet-mr
然后我做了cd parquet-mr/parquet-tools
然后我做了`mvn clean package -Plocal
如此处指定:https://github.com/apache/parquet-mr/tree/master/parquet-tools
这就是我得到的:
为什么此依赖项错误在这里?我该如何解决?
答案 0 :(得分:6)
在 Ubuntu 20 上,我通过 pip 安装:
python3 -m pip install parquet-tools
还没有尝试过 FreeBSD,但我想它也可以工作。
您可以使用以下命令查看文件:
parquet-tools show filename.parquet
答案 1 :(得分:2)
parquet-tools
只是parquet-mr
的一个模块。这取决于其他一些模块。
从与发行版相对应的源版本进行构建时,Maven将可以使用其他模块,因为发行工件是发行过程的一部分。
但是,从快照版本进行构建时,必须使这些依赖项自己可用。有两种方法可以这样做:
选项1:构建并安装父目录的所有模块:
git clone https://github.com/apache/parquet-mr
cd parquet-mr
mvn install -Plocal
这会将快照工件放置在本地~/.m2
目录中。随后,您可以像最初尝试的那样(重新)构建parquet-tools
,因为现在快照文物已经可以从~/.m2
获得。
选项2:从父目录构建parquet-mr
模块,同时要求Maven一路构建所需的模块:
git clone https://github.com/apache/parquet-mr
cd parquet-mr
mvn package -pl parquet-tools -am -Plocal
选项1会比选项2生成更多的项目,因此,如果您只需要parquet-tools
,那么选择后者会更好。请注意,尽管可能两者都需要安装节俭的编译器。
答案 2 :(得分:2)
实木复合地板工具-可用于读取实木复合地板文件的实用程序。 Yuu可以从Github克隆它并运行一些maven命令。
1. git clone https://github.com/Parquet/parquet-mr.git
2. cd parquet-mr/parquet-tools/
3. mvn clean package -Plocal
或,您可以下载稳定版本并从本地构建。
2. Maven本地安装。
D:\parquet>cd parquet-tools && mvn clean package -Plocal
3.进行测试(将镶木地板文件粘贴到目标目录下):
D:\parquet\parquet-tools\target>java -jar parquet-tools-1.8.2.jar schema out.parquet
(其中out.parquet是我在目标目录下的镶木文件)
//读取实木复合地板文件
D:\parquet\parquet-tools\target>java -jar parquet-tools-1.6.0.jar cat out.parquet
//读取镶木地板文件中的几行
D:\parquet\parquet-tools\target>java -jar parquet-tools-1.6.0.jar head -n5 out.parquet
答案 3 :(得分:0)
我知道问题指定了FreeBSD,但是如果您使用的是Mac,则可以这样做
brew install parquet-tools
答案 4 :(得分:0)
某些答案的jar下载链接已断开,但是您可以从 maven central
但是...该jar和其他类似的jar被构建为“提供” hadoop依赖关系,如果从源构建,则将获得该默认值。因此,在构建时需要设置-Dhadoop.scope = compile,否则结果仅在使用“ hadoop ...”命令在hadoop节点上运行时有效。
更糟糕的是,此工具显然禁用了System.out和System.err,因此,永远不会打印出导致main()失败的异常,而您会想知道发生了什么。
我还发现,当文件显示意外的情况时,maven-license-plugin的默认设置导致构建失败(例如,如果使用netbeans,则为nbactions.xml)。