spark 入门教程

一、安装scala环境

官网下载地址 Download | The Scala Programming Language,本次使用版本为sacla2.11.12,将压缩包解压至指定目录,配置好环境变量,控制台验证是否安环境是否可用:

二、添加pom依赖

创建一个maven项目

1、添加scala的sdk依赖

复制代码
  <properties>
    <scala.version>2.11.12</scala.version>
  </properties>
 
   <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>${scala.version}</version>
    </dependency>
 
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-compiler</artifactId>
      <version>${scala.version}</version>
    </dependency>
 
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-reflect</artifactId>
      <version>${scala.version}</version>
    </dependency>

2、添加spark依赖

复制代码
  <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.11</artifactId>
      <version>2.4.8</version>
    </dependency>
 
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-streaming_2.11</artifactId>
      <version>2.4.8</version>
      <scope>provided</scope>
    </dependency>

三、入门应用

1、数据源

test_spark.txt

复制代码
中国 河南
中国 浙江
河南 郑州
浙江 杭州
河南 洛阳
浙江 宁波
美国 纽约
纽约 华尔街
美国 吉利福尼亚
加利福尼亚 落砂机

2、编码实现

复制代码
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
 
object SparkWordCount {
  def main(args: Array[String]): Unit = {
    ///使用本地模式连接spark
    val conf = new SparkConf().setAppName("WordCount").setMaster("local")
    val sc = new SparkContext(conf)
    ///读取文件中每一行字符 存入到是数据集合RDD中
    val lines: RDD[String] = sc.textFile("D:/workplace/java-item/res/file/test_spark.txt")
    /// 将数据集合进行扁平化操作  以字符空格分割
    val tuples = lines.flatMap(_.split(" ")).groupBy(word => word).map({ case (w, l) => (w, l.size) }).collect()
    tuples.foreach(println)
  }
}
相关推荐
tan77º19 分钟前
【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
linux·网络·分布式·网络协议·tcp/ip·rpc·json
BYSJMG1 小时前
计算机大数据毕业设计推荐:基于Hadoop+Spark的食物口味差异分析可视化系统【源码+文档+调试】
大数据·hadoop·分布式·python·spark·django·课程设计
萤丰信息2 小时前
技术赋能安全:智慧工地构建城市建设新防线
java·大数据·开发语言·人工智能·智慧城市·智慧工地
Viking_bird3 小时前
Apache Spark 3.2.0 开发测试环境部署指南
大数据·分布式·ajax·spark·apache
励志成为糕手4 小时前
企业级Spring事务管理:从单体应用到微服务分布式事务完整方案
分布式·spring·微服务·隔离级别·事务管理
用户199701080184 小时前
抖音商品列表API技术文档
大数据·数据挖掘·数据分析
Fireworkitte5 小时前
Kafka的ISR、OSR、AR详解
分布式·kafka·ar
数据皮皮侠7 小时前
最新上市公司业绩说明会文本数据(2017.02-2025.08)
大数据·数据库·人工智能·笔记·物联网·小程序·区块链
计算机毕设-小月哥9 小时前
完整源码+技术文档!基于Hadoop+Spark的鲍鱼生理特征大数据分析系统免费分享
大数据·hadoop·spark·numpy·pandas·计算机毕业设计
Jinkxs9 小时前
AI重塑金融风控:从传统规则到智能模型的信贷审批转型案例
大数据·人工智能