我正在尝试构建一个简单的Hadoop mapreduce程序,我选择Java来完成这项工作。我检查了周围的示例代码,并试图构建自己。我创建了下面的gradle脚本,当我查看安装的依赖项时,没有Mapper或Reducer。连org.apache.hadoop.mapreduce包都没有
group 'org.ardilgulez.demoprojects'
version '1.0-SNAPSHOT'
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compile group: 'org.apache.hadoop', name: 'hadoop-common', version:'2.7.3'
compile group: 'org.apache.hadoop', name: 'hadoop-hdfs', version: '2.7.3'
compile group: 'org.apache.hadoop', name: 'hadoop-yarn-common', version: '2.7.3'
compile group: 'org.apache.hadoop', name: 'hadoop-minicluster', version: '2.7.3'
compile group: 'org.apache.hadoop', name: 'hadoop-mapreduce-client-core', version:'2.7.3'
compile group: 'org.apache.hadoop', name: 'hadoop-mapreduce-client-jobclient', version: '2.7.3'
compile group: 'org.apache.hadoop', name: 'hadoop-mapreduce-client-app', version: '2.7.3'
compile group: 'org.apache.hadoop', name: 'hadoop-mapreduce-client-shuffle', version: '2.7.3'
compile group: 'org.apache.hadoop', name: 'hadoop-mapreduce-client-common', version: '2.7.3'
compile group: 'org.apache.hadoop', name: 'hadoop-client', version: '2.7.3'
}
我知道我不需要这10个hadoop依赖项中的至少7个,但我不知道这些依赖项中哪些有org.apache.hadoop.mapreduce包(我知道这11个没有)。
我应该添加哪个依赖项/存储库,以便我可以实际构建mapreduce作业?
我可以用原始的org.apache.hadoop包而不是供应商包(如Cloudera)吗?
提前感谢您的帮助。
这应该是正确的依赖项:
compile 'org.apache.hadoop:hadoop-mapreduce-client-core:2.7.3'
请务必刷新您的gradle
项目
Add
compile group: 'org.apache.hadoop', name:'hadoop-core', version: '2.7.3'
对于更新版本的Gradle(我使用的是7.5.1
), compile
不再是一个选项。在这种情况下,您应该使用implementation
。
dependencies {
implementation 'org.apache.hadoop:hadoop-common:2.7.7'
implementation 'org.apache.hadoop:hadoop-mapreduce-client-core:2.7.7'
}