【大数据入门笔记系列】第五节 SpringBoot集成hadoop开发环境(复杂版的WordCount)

本文介绍了如何使用SpringBoot集成Hadoop开发环境,以复杂版的WordCount为例,详细阐述了从创建SpringBoot项目、配置Hadoop、编写MapReduce代码到远程提交任务的全过程,帮助读者快速入门大数据开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本来是想直接扒一扒MapReduce的工作原理,但是觉得只是图解或者文字描述,没有Demo的运行体验总是无趣的,一遍走下来也没有什么成就感,因此还是要撸一撸代码的。
那么谈到MapReduce的工作原理,我们的Demo首选自然是WordCount,WordCount是很优秀的讲解MapReduce的案例,也是理解MapReduce的最好的方法,本节我们的目标只是将环境搭建起来,然后运行成功(不必纠结一些细节,因为开发习惯和为后面的Demo做准备的想法,一些类与文件的创建我是按模板来安排的,最好不要在没有搞懂原理的时候停下来死扣代码,此时运行成功就是成功!)。

环境清单

  • 开发工具使用IDEA(Eclipse也行);
  • 使用Jdk1.8;
  • 需要maven环境;
  • 需要IDEA提前装好SpringBoot插件(因为诸如kafka、elasticsearch、flink、spark等一大批大数据应用组件,SpringBoot都提供了良好的集成环境,所以不要嫌麻烦就用Maven,动动手顺便把SpringBoot也入门了岂不美滋滋?以后你再有什么demo直接就在这个项目里面干了,所以这个插件没装的可以装一下,网上教程一搜一大把);
  • 需要一个Hadoop集群(既然决定学习大数据,搭集群这个过程不可避免,如果你的机器性能扛得住的话,可以装CDH,根据【Centos7.6安装CDH6.1.0】第一节 基础环境准备(host域名及免密登录)相关章节介绍一步一步跟着做相应操作就好,如安装遇到问题则可下方留言);

创建SpringBoot项目

首先,我们用IDEA(Eclipse也可以)创建一个普通的maven项目(groupId为com.jackroy.www,artifactId为BigData),然后我们将这个普通的Maven项目变成SpringBoot项目(需要提前准备好SpringBoot插件),转变的方法很简单,以下是我的pom.xml(注意,有个位置需要自己动手改一下hadoop依赖版本,查看自己hadoop的版本后,替换版本号):

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.jackroy.www</groupId>
    <artifactId>BigData</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <fastjson.version>1.2.49</fastjson.version>
        <springboot.version>2.0.5.RELEASE</springboot.version>
        <!-- 注意,这里要改成自己的hadoop版本 -->
        <hadoop.version>3.0.0</hadoop.version>
        <skipTests>true</skipTests>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>${springboot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>${springboot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>${hadoop.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-core</artifactId>
            <version>${hadoop.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-common</artifactId>
            <version>${hadoop.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
   
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值