被关在idea小黑屏里写spark程序

一、先在idea中添加Scala插件

二、使用Maven创建新项目

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

2.将Scala添加到全局库中(注意:Scala的版本不宜太高,最好是2-12.否则后面会报下面这个错误

复制代码
E:\tool接口\SparkCore_01\src\main\scala\WordCount.scala:16:9
illegal cyclic inheritance involving trait Iterable
    val counts = textFiles

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

XML 复制代码
<!--  添加依赖:  scala-library spark-core-->
    <dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.12</artifactId>
            <version>3.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.12.15</version>
        </dependency>
    </dependencies>

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

5.编写代码。修改文件夹的名字。(注意:是在重构里面有重命名)

6.新建Scala类。如果这里没有看到Scala类的选项,就去检查第2步。(如果没有出现scala类,请再次添加全局库。)

7.选择Object,输入WordCount

8.编写代码如下

Scala 复制代码
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()
  }
}

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

10.运行代码。点击运行代码。(红色无所谓,只要后面出现:进程已结束,退出代码为 0。这句就是对的。)

11.生成结果如下。

相关推荐
我是人✓4 小时前
Spring框架的事务管理
java·后端·spring
javachen__4 小时前
JsonView:一套VO实现多角色字段返回
java·linux·服务器
行者-全栈开发4 小时前
SpringBoot 生产环境踩坑实录:10个真实故障案例与教训
java·spring boot·后端
计算机编程指导师4 小时前
计算机毕设怎么做?基于Hadoop+Spark的商场商铺数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·商场商铺
李福春4 小时前
斗破Google ADK Java苍穹-第7境斗皇-御天地-Harness治理
java·人工智能·python·深圳同盟·腾讯云架构师技术同盟·adk java·harness 治理
Wang's Blog4 小时前
Java 项目部署之 Docker工具快速入门: 容器命令练习:创建、改文件、重启到删除的完整闭环
java·开发语言·docker
我是人✓4 小时前
Java面向对象核心特性深度解析
java·前端·算法
Q26433650234 小时前
【有源码】基于Hadoop+Spark的低能见度易雾站点识别与可视化分析系统-面向气象保障的低能见度监测数据挖掘与风险画像系统
大数据·hadoop·数据挖掘·spark·毕业设计·课程设计·数据可视化
Wx-bishekaifayuan4 小时前
springboot线上中医药养生平台管理系统36753-计算机课程设计、毕业设计
java·spring boot·后端·spring·课程设计·express·旅游
Wx-bishekaifayuan5 小时前
springboot大学生就业平台47691-计算机课程设计、毕业设计
java·spring boot·后端·elasticsearch·课程设计·express·旅游