spark local模式

Spark Local 模式是一种在单台机器上运行 Spark 应用程序的模式,无需搭建分布式集群,适合开发调试、学习以及运行小规模数据处理任务。以下为你详细介绍该模式:

特点

  • 简易性:无需额外配置分布式集群,在单机上就能快速启动和运行 Spark 应用,便于开发者快速验证代码逻辑。
  • 资源受限:由于在单机上运行,其资源(如 CPU、内存)依赖于单机配置,不适合处理大规模数据。
  • 开发调试便利:在开发过程中,可方便地进行代码调试和问题排查。

运行方式

Python 示例

以下是使用 Python 和 PySpark 在 Local 模式下运行 WordCount 程序的示例:

复制代码
from pyspark.sql import SparkSession

# 创建 SparkSession
spark = SparkSession.builder \
    .appName("LocalWordCount") \
    .master("local[*]") \
    .getOrCreate()

# 读取文本文件
lines = spark.read.text("file:///path/to/your/textfile.txt").rdd.map(lambda r: r[0])

# 进行单词计数
counts = lines.flatMap(lambda x: x.split(' ')) \
              .map(lambda x: (x, 1)) \
              .reduceByKey(lambda a, b: a + b)

# 输出结果
output = counts.collect()
for (word, count) in output:
    print("%s: %i" % (word, count))

# 停止 SparkSession
spark.stop()

在上述代码中:

  • master("local[*]") 表示使用本地模式运行,[*] 代表使用所有可用的 CPU 核心。
  • file:///path/to/your/textfile.txt 是本地文件的路径。
Scala 示例

以下是使用 Scala 在 Local 模式下运行 WordCount 程序的示例:

scala

提交作业

复制代码
import org.apache.spark.sql.SparkSession

object LocalWordCount {
  def main(args: Array[String]): Unit = {
    // 创建 SparkSession
    val spark = SparkSession.builder()
      .appName("LocalWordCount")
      .master("local[*]")
      .getOrCreate()

    // 读取文本文件
    val lines = spark.read.textFile("file:///path/to/your/textfile.txt").rdd

    // 进行单词计数
    val counts = lines.flatMap(_.split(" "))
      .map(word => (word, 1))
      .reduceByKey(_ + _)

    // 输出结果
    counts.collect().foreach(println)

    // 停止 SparkSession
    spark.stop()
  }
}    
Python 代码

在终端中使用 spark-submit 提交 Python 代码:

bash

复制代码
spark-submit --master local[*] /path/to/your/wordcount.py
Scala 代码

若使用 Scala 代码,需先将代码打包成 JAR 文件,再使用 spark-submit 提交:

bash

复制代码
spark-submit --master local[*] --class com.example.LocalWordCount
相关推荐
专注数据的痴汉26 分钟前
「数据获取」《中国服务业统计与服务业发展(2014)》
大数据·人工智能
镜舟科技42 分钟前
告别 Hadoop,拥抱 StarRocks!政采云数据平台升级之路
大数据·starrocks·数据仓库·hadoop·存算分离
毕设源码-赖学姐43 分钟前
【开题答辩全过程】以 基于Hadoop电商数据的可视化分析为例,包含答辩的问题和答案
大数据·hadoop·分布式
时序数据说1 小时前
时序数据库IoTDB的核心优势
大数据·数据库·物联网·开源·时序数据库·iotdb
喂完待续2 小时前
【Big Data】Apache Kafka 分布式流处理平台的实时处理实践与洞察
分布式·kafka·消息队列·big data·数据处理·序列晋升
计算机毕设残哥2 小时前
HDFS存储农业大数据的秘密是什么?高级大豆数据分析与可视化系统架构设计思路
大数据·hadoop·python·hdfs·数据分析·spark·django
IT毕设实战小研2 小时前
2026届大数据毕业设计选题推荐-基于大数据旅游数据分析与推荐系统 爬虫数据可视化分析
大数据·人工智能·爬虫·机器学习·架构·数据分析·课程设计
武子康3 小时前
大数据-90 Spark RDD容错机制:Checkpoint原理、场景与最佳实践 容错机制详解
大数据·后端·spark
恒州博智QYResearch咨询3 小时前
全球汽车氮化镓技术市场规模将于2031年增长至180.5亿美元,2025-2031年复合增长率达94.3%,由Infineon和Navitas驱动
大数据·汽车
陈敬雷-充电了么-CEO兼CTO3 小时前
具身智能模拟器:解决机器人实机训练场景局限与成本问题的创新方案
大数据·人工智能·机器学习·chatgpt·机器人·具身智能