当前位置: 首页 > news >正文

被关在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 Iterableval counts = textFiles

3.设置maven依赖项。修改pom.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.编写代码如下

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")// 停止 SparkContextsc.stop()}
}

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

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

11.生成结果如下。

 

相关文章:

  • yolov8使用
  • BFS最短路
  • 深入分析OpenCV技术原理:计算机视觉的核心力量
  • 数字化浪潮下的工业变革:企业转型的战略机遇与挑战
  • Open WebUI 设置通过硅基流动访问 DeepSeek v3 教程​
  • 偶然发现Git文件夹非常大,使用BGF来处理Git历史Blob文件
  • AI Agent 孵化器?开源框架CAMEL
  • 驱动开发硬核特训 · Day 24(上篇):走进Linux内核时钟子系统 —— 硬件基础全解析
  • 【自然语言处理与大模型】LangChain大模型应用框架入门①
  • Electron Forge【实战】桌面应用 —— 将项目配置保存到本地
  • 考OCM证书前需要有OCP证书
  • VSCode Verilog环境搭建
  • JVM调优实战(JVM Tuning Pactice)
  • 深入解析 Linux 进程池:原理、实现与高并发优化
  • 【AI面试准备】模型自动化评估
  • 【数据结构与算法】哈希表实现:闭散列 开散列
  • Qt5与现代OpenGL学习(四)X轴方向旋转60度
  • DevExpressWinForms-XtraMessageBox-使用教程
  • Java信任证书
  • 前缀和 --- 二维前缀和
  • 云南铁路:打造“铁路+金融+产业”融合发展生态
  • 外交部官方公众号发布视频:不跪!
  • 伊朗港口爆炸已致46人死亡
  • 李强主持召开国务院常务会议
  • 最高法知产庭年度报告:民事案件二审发回重审率持续下降
  • 甘肃省原副省长赵金云被开除公职,甘肃省委表态:坚决拥护党中央决定