如何在idea中写spark程序

基本思路

Spark是基于scala的,当然它也可以支持java和scala还有python语言,我们这里会使用scala。

基本的思路是:

  1. 在Idea中安装插件,使得Idea中可以编写scala代码。
  2. 使用Maven创建项目,并在pom.xml文件中配置相关的依赖。
下载安装Scala

[步骤演示]

(1)访问Scala官方网站(https://www.scala-lang.org/download/)下载适合操 作系统的Scala安装包。选择教材对应的Scala版本:2.13.14。安装Scala的操 作,也是一路默认安装即可。

(2) 打开命令提示符(CMD),输入以下命令:scala -version 如果显示Scala 的版本信息,说明安装成功。 也可以直接输入 scala,如果能进入REPL环境, 就说明安装成功了。

(三)在IDEA中添加Scala插件

IDEA中,默认是不支持编写Scala的,需要额外配置一个插件。如下图示。

(四)使用Maven创建新项目

核心的操作步骤如下:

  1. 启动idea,选择新建项目。之后的设置如下:

2.将Scala添加到全局库中

3.设置maven依赖项。修改pom.xml文件,添加如下:

    <properties>

        <maven.compiler.source>8</maven.compiler.source>

        <maven.compiler.target>8</maven.compiler.target>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    </properties>

    <!--    声明并引入共有的依赖-->

    <dependencies>

        <!--   scala-library-->

        <dependency>

            <groupId>org.scala-lang</groupId>

            <artifactId>scala-library</artifactId>

            <version>2.12.15</version>

        </dependency>

        <dependency>

            <groupId>org.apache.spark</groupId>

            <artifactId>spark-core_2.12</artifactId>

            <version>3.2.2</version>

        </dependency>

    </dependencies>

</project>

4.下载依赖。添加完成之后,刷新Maven,它会帮助我们去下载依赖。

5.编写代码。修改文件夹的名字。

6.新建Scala类。如果这里没有看到Scala类的选项,就去检查第2步。

选择Object,输入WordCount

7.编写代码如下

它的功能是wordcount的功能:从指定的文件夹中去读取文件,并做词频统计。

import org.apache.spark.{SparkConf, SparkContext}

object WordCount{

  def main(args: Array[String]): Unit = {

    // 配置 Spark 应用程序

    val conf = new SparkConf().setAppName("WordCount").setMaster("local[*]")

    // 创建 SparkContext 对象

    val sc = new SparkContext(conf)

    // 读取目录下的所有文本文件

    val textFiles = sc.wholeTextFiles("input")

    // 提取文本内容并执行 WordCount 操作

    val counts = textFiles.flatMap { case (_, content) => content.split("\\s+") }.map(word => (word, 1)).reduceByKey(_ + _)

    // 将所有分区的数据合并成一个分区

    val singlePartitionCounts = counts.coalesce(1)

    // 保存结果到文件

    singlePartitionCounts.saveAsTextFile("output")

    // 停止 SparkContext

    sc.stop()

  }

}

8.准备待统计的词频文件。在项目根目录下建立文件夹input,并穿件两个文本文件:word1.txt, word2.txt。如下图。

 

9.运行代码。点击运行代码。

10生成结果如上右图。

### 如何在 IntelliJ IDEA 中编和运行 Spark 应用程序 #### 创建 Spark 项目 要在 IntelliJ IDEA 中创建一个 Spark 项目,首先启动 IDE 并选择 `File -> New -> Project`。随后,在弹出的窗口中选择 Scala 类型的项目,并确保选择了 SBT 构建工具[^1]。 #### 配置 JDK 和 Scala 版本 在新建项目的向导界面中,指定所使用的 JDK(推荐版本为 JDK 1.8 或更高),以及 Scala 的具体版本(例如 Scala-2.11.8)。这些配置会直接影响到后续构建过程中的兼容性和依赖管理。 #### 设置 Build 文件 (build.sbt) 对于基于 SBT 的项目来说,编辑 `build.sbt` 是至关重要的一步。在这个文件里定义好所需的库依赖项,比如针对 Spark Core 及其相关组件设置合适的版本号。下面是一个简单的例子展示如何引入基本的 Spark SQL 功能: ```scala name := "MySparkApp" version := "0.1" scalaVersion := "2.11.8" libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.2" libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.3.2" ``` 此部分操作完成后可以考虑启用自动导入功能来简化工作流程,即勾选 Enable Auto-Import 复选框使得每次修改 build.sbt 后无需手动刷新即可完成重新加载[^2]。 #### 编第一个 Spark 程序 当环境搭建完毕之后就可以着手于实际编码环节了。通常情况下我们会从最基础的例子入手——WordCount 示例应用。以下是该示例的一个实现片段: ```scala import org.apache.spark.SparkConf import org.apache.spark.sql.SparkSession object WordCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("wordcount").setMaster("local[*]") val spark = SparkSession.builder.config(conf).getOrCreate() import spark.implicits._ val textFile = spark.read.textFile("/path/to/your/input/file.txt") val counts = textFile.flatMap(line => line.split(" ")) .map(word => (word, 1)) .reduceByKey(_ + _) counts.collect.foreach(println) spark.stop() } } ``` 这段代码展示了怎样利用 RDDs 来执行单词计数任务[^1]。 #### 运行与调试您的 Spark Application 最后要做的就是通过点击 Run 按钮或者直接调用 sbt 命令如 `sbt run` 执行这个新编Spark application 。如果一切正常的话,则应该能够看到预期的结果输出至控制台之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值