IDEA上编写spark程序(Maven)

说明:

版本:IDEA2019.3.3 + spark-2.0.0 + scala-2.11.8 + win10

 

一,准备

  1,打开 Plugins 

Configure -> Plugins 

  2,安装 scala 插件

搜索 scala 然后点击 Install 安装。

如果不想在线安装,也可以在 官网 下载后再安装,官网页面点击 Show More ,这里下载了 scala-intellij-bin-2019.3.3.zip。下载后回到 Plugins ,点击 齿轮图标 后在点击 Install Plugin from Disk... 。在打开的页面中选择下载的 scala 插件。

成功后点击 Restart IDE 重启 IDEA。

   3,配置 java SDK 

Configure -> Structure for New Projects -> Project

这里添加的是 java8

 

  4,配置 scala SDK

Configure -> Structure for New Projects -> Global Libraries -> + -> Scala SDK

点击 Browse 后,选择自己的 scala 安装目录。

这里因为只需要在 IDEA 中使用 scala ,所以并没有安装 scala ,只下载了 scala 的二进制文件 scala-2.11.8 。

如果想在本地所以 scala 可以下载安装版(scala-2.11.8.msi)。

点击 OK 导入 scala SDK

 

二,创建项目

  1,创建项目

   2,选择 Maven ,点击 Next

   3,输入 Name项目名、Location项目地址,点击 Finish 后,等待项目的加载。

也可以点击 Artifact Coordinates 配置项目组、模块名称、版本

   4,打开 Add Framework Surport

鼠标右键项目名May,选择 Add Framework Surport

  5,添加 scala 

选择 Scala ,点击 OK

成功添加 scala

 

三,配置项目

   1,配置 maven 的 pom.xml 文件

将下面折叠的 pom.xml 复制粘贴到 IDEA 的  pom.xml 文件中

<?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>org.example</groupId>
    <artifactId>May</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spark.version>2.0.0</spark.version>
        <scala.version>2.11</scala.version>
        <hbase.version>1.4.10</hbase.version>
        <hive.version>1.1.0</hive.version>
    </properties>

    <dependencies>
        <!-- spark -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_${scala.version}</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <!-- Hbase -->
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>${hbase.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-common</artifactId>
            <version>${hbase.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>${hbase.version}</version>
        </dependency>
        <!-- Hive -->
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-exec</artifactId>
            <version>${hive.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- Java 1.8 -->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
pom.xml

可以在右下角看到类库导入的进程

   2,修改源文件夹名称

鼠标右键 java -> Refactor -> Rename...,重命名为 scala

 

  3,创建 Artifacts

根据打包的方式不同,Artifacts 的配置也不同,这里选择最简单的方式。

File -> Project Structure

 

Artifacts -> + -> JAR -> Form modules with dependencies

直接点击 OK 

 将所有 jar 删除。注意 'May' compile output 是不需要删除的。点击 OK。

  4,调整 scala 的 tab 键长度

Settings -> Editor -> Code Style -> Scala

 

四,测试项目

  1,创建文件夹

鼠标右键 scala -> New -> Package -> demo

  2,创建 WordCount 类

鼠标右键 demo -> New -> Scala Class -> WordCount

 

  3,复制代码,运行程序

package demo

import org.apache.spark.SparkContext
import org.apache.spark.SparkConf

/**
 * spark-submit --class demo.WordCount May.jar
 */

object WordCount {
    def main(args: Array[String]) {
        val conf = new SparkConf().setAppName("WordCount").setMaster("local")
        val sc = new SparkContext(conf)
        sc.setLogLevel("ERROR")

        val lines = sc.parallelize(Array("org apache spark SparkContext","org apache SparkConf","org SparkConf"))
        val wordCount = lines
            .flatMap(line => line.split("\\s+"))
            .map(word => (word, 1))
            .reduceByKey((a, b) => a + b)
        wordCount.foreach(println)
    }
}
WordCount.scala

鼠标右键 -> Run 'WordCount'

成功

 

 

 

相关/转载:

1,利用开发工具IntelliJ IDEA编写Spark应用程序(Scala+Maven)

2,Intellij IDEA 安装Scala插件 + 创建Scala项目(Hello World!)

 

posted @ 2020-05-07 21:57  子崖子崖  阅读(843)  评论(0)    收藏  举报