这些是Sqoop 1.4.2(sqoop / lib中的libs)的依赖关系:
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
为什么Sqoop需要拥有所有这些? (例如ant-eclipse - 为什么?:))
这些依赖关系实际上对sqoop做了什么?
答案 0 :(得分:0)
看起来没有人愿意回答这个问题:)
所以我对Sqoop的依赖关系的看法是,它只是一些神奇的jar包,足以从源代码构建Sqoop,并与特定版本的Hadoop一起使用,这个Sqoop捆绑应该可以使用。
因为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。