【Spark学习】用maven构建spark项目

小白必看,用maven构建spark项目

首先,我们需要下载maven
maven下载地址

1.解压安装即可
在这里插入图片描述
2.进入conf目录,修改配置文件settings.xml文件,配置阿里云镜像

-<mirror>    
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>  
<name>Nexus aliyun</name>   
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
-<build>
-<plugins>
-<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
-<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build

3.添加完成后,我们就可以打开idea了
在这里插入图片描述
4.选择maven并点击next
在这里插入图片描述
5.设置GroupId和ArtifacId,并点击next
在这里插入图片描述
6.这里直接finish
在这里插入图片描述
7.点击file–>setting…
在这里插入图片描述
8.在左侧找到Build Tools–>Maven。并选择本地maven根目录,指定setting和repository
在这里插入图片描述

7.然后再箭头处添加依赖
在这里插入图片描述

        <properties>
            <scala.version>2.11.12</scala.version>
            <spark.version>2.4.4</spark.version>
            <hadoop.version>2.7.3</hadoop.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>

        <repositories>
            <repository>
                <id>scala-tools.org</id>
                <name>Scala-Tools Maven2 Repository</name>
                <url>http://scala-tools.org/repo-releases</url>
            </repository>
        </repositories>

        <pluginRepositories>
            <pluginRepository>
                <id>scala-tools.org</id>
                <name>Scala-Tools Maven2 Repository</name>
                <url>http://scala-tools.org/repo-releases</url>
            </pluginRepository>
        </pluginRepositories>

        <dependencies>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>${scala.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-core_2.11</artifactId>
                <version>${spark.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-sql_2.11</artifactId>
                <version>${spark.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-hive_2.11</artifactId>
                <version>${spark.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-streaming_2.11</artifactId>
                <version>${spark.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
                <version>2.7.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.spark</groupId>
                <artifactId>spark-mllib_2.11</artifactId>
                <version>${spark.version}</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.48</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.specs</groupId>
                <artifactId>specs</artifactId>
                <version>1.2.5</version>
                <scope>test</scope>
            </dependency>
        </dependencies>

        <build>
            <sourceDirectory>src/main/scala</sourceDirectory>
            <testSourceDirectory>src/test/scala</testSourceDirectory>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.3</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.scala-tools</groupId>
                    <artifactId>maven-scala-plugin</artifactId>
                    <version>2.15.2</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>compile</goal>
                                <goal>testCompile</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <scalaVersion>${scala.version}</scalaVersion>
                        <args>
                            <arg>-target:jvm-1.8</arg>
                        </args>
                    </configuration>
                </plugin>
            </plugins>
        </build>

8.刚添加完依赖,本地仓库内可能会有很多包不存在(爆红),所以我们这里要导包。点击import changes idea开始自动导包
在这里插入图片描述
9.在main和test目录下分别创建Scala文件夹
在这里插入图片描述
10.创建完之后,scala文件夹是灰色的,我们要将他source一下
在这里插入图片描述
11.然后就可以了,test目录下也要创建一次
在这里插入图片描述

9.导完之后,会发现左侧已经添加很多依赖包了
在这里插入图片描述
10.这时我们就可以开始完成spark的项目了
在这里插入图片描述

如果你想使用 Maven构建 Spark 项目,可以按照以下步骤进行操作: 1. 创建一个 Maven 项目,可以使用 IDE 工具如 IntelliJ IDEA 或 Eclipse 来创建。 2. 在 pom.xml 文件中添加 Spark 依赖,如下所示: ```xml <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.4.5</version> </dependency> ``` 这是 Spark Core 的依赖,如果你需要使用其他 Spark 模块,可以添加相应的依赖。 3. 在 pom.xml 文件中添加 Maven 插件,以打包和运行 Spark 应用程序。以下是一个示例 Maven 插件配置: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <mainClass>com.example.spark.App</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 上面的配置中,maven-compiler-plugin 是用来指定 Java 版本的,maven-assembly-plugin 是用来打包应用程序和依赖项的。 4. 编写 Spark 应用程序,例如: ```java import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; public class App { public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("MyApp").setMaster("local"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD<String> lines = sc.textFile("input.txt"); JavaRDD<String> words = lines.flatMap(line -> Arrays.asList(line.split(" ")).iterator()); JavaPairRDD<String, Integer> pairs = words.mapToPair(word -> new Tuple2<>(word, 1)); JavaPairRDD<String, Integer> counts = pairs.reduceByKey((a, b) -> a + b); counts.saveAsTextFile("output.txt"); sc.stop(); } } ``` 这个应用程序会读取一个文本文件,并对单词进行计数,最后将结果保存到另一个文本文件中。 5. 通过 Maven 打包应用程序,运行以下命令: ``` mvn clean package ``` 这将生成一个可执行的 JAR 文件,包含应用程序和所有依赖项。 6. 运行 Spark 应用程序,例如: ``` spark-submit --class com.example.spark.App target/my-app-1.0-jar-with-dependencies.jar input.txt output.txt ``` 这个命令会将 JAR 文件提交到 Spark 集群,并指定应用程序的入口类和输入输出文件的位置。 希望这些步骤可以帮助你使用 Maven 构建 Spark 项目
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值