0

These are dependencies of Sqoop 1.4.2 (libs inside sqoop/lib):

ant-contrib-1.0b3.jar
ant-eclipse-1.0-jvm1.2.jar
avro-1.5.3.jar
avro-ipc-1.5.3.jar
avro-mapred-1.5.3.jar
commons-io-1.4.jar
hsqldb-1.8.0.10.jar
jackson-core-asl-1.7.3.jar
jackson-mapper-asl-1.7.3.jar
jopt-simple-3.2.jar
paranamer-2.3.jar
snappy-java-1.0.3.2.jar

Why does Sqoop need to have all of them? (e.g. ant-eclipse - why? :) )

What do these dependencies actually do for sqoop?

4

1 回答 1

0

好像没人愿意回答这个问题:)

因此,我对 Sqoop 依赖项的看法是,它只是一些神奇的 jar 包,足以从源代码构建 Sqoop 并与该 Sqoop 包应该使用的特定 Hadoop 版本一起使用。

由于 Sqoop 将自身运行为

exec ${HADOOP_HOME}/bin/hadoop com.cloudera.sqoop.Sqoop "$@"

这意味着 Hadoop 和 Sqoop jar 都在 CLASSPATH 中,因此依赖关系可能会根据 Hadoop 的 CLASSPATH 中的内容而发生冲突。

明显地

ant-contrib-1.0b3.jar
ant-eclipse-1.0-jvm1.2.jar

用于构建 Sqoop。

于 2013-05-24T22:20:28.960 回答