使用 gradle 构建一个简单的 MapReduce 项目:Hadoop 依赖项没有 Mapper 和 Reducer



我正在尝试构建一个简单的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'
}

相关内容

  • 没有找到相关文章

最新更新