首页 > 其他分享 >Apache Spark 安装和基础使用

Apache Spark 安装和基础使用

时间:2024-06-23 13:42:23浏览次数:21  
标签:val YARN RDD 算子 Apache Spark 安装 spark

Spark 概述

Apache Spark 是一个开源的集群计算框架,以其快速、易用、通用和高度可扩展性而著称。Spark 支持多种编程语言,包括 Java、Scala、Python 和 R,并提供了丰富的库,如 Spark SQL、MLlib、GraphX 和 Spark Streaming。

Spark 的主要特点

  • 快速:Spark 通过在内存中存储中间数据,显著提高了数据处理速度。
  • 易用:Spark 提供了简洁的 API,简化了复杂数据处理任务的实现。
  • 通用:Spark 拥有多个库,支持不同类型的数据处理和分析任务。
  • 到处运行:Spark 可以在多种集群管理器上运行,如 Hadoop YARN、Mesos 等。

Spark 的主要组件

Spark 由多个组件构成,包括:

  • Spark Core:Spark 的核心计算引擎,负责任务的调度和分发。
  • Spark SQL:用于结构化数据处理的库,支持 SQL 查询。
  • MLlib:机器学习库,提供常用的机器学习算法。
  • GraphX:图处理库,支持图的并行计算。
  • Spark Streaming:实时数据流处理库。

Spark 的安装与配置

安装 Spark 涉及以下步骤:

  1. 下载 Spark 并解压。
  2. /etc/profile 文件中配置环境变量 SPARK_HOMEPATH
  3. 执行 source /etc/profile 使配置生效。

RDD 算子

RDD(弹性分布式数据集)是 Spark 的核心抽象。Spark 提供了多种 RDD 算子,包括:

转化算子

  • map():对 RDD 的每个元素应用函数,返回新的 RDD。
  • filter():根据条件过滤 RDD 中的元素。
  • flatMap():类似于 map,但每个输入可以被映射为多个输出。
  • reduceByKey():将具有相同 key 的 value 聚合起来。
  • groupByKey():将具有相同 key 的元素分组。

行动算子

行动算子触发实际的计算过程:

  • collect():返回 RDD 的所有元素。
  • count():统计 RDD 中的元素数量。
  • take():取出RDD的前 n 个元素。

示例代码

val sc = new SparkContext(new SparkConf().setAppName("RDD Example"))

// 创建 RDD
val rdd = sc.parallelize(Array(1, 2, 3, 4))

// 使用 map 算子
val rdd2 = rdd.map(x => x * 2)

// 使用 filter 算子
val rdd3 = rdd2.filter(x => x > 3)

// 使用 collect 行动算子
val results = rdd3.collect()
println(results.mkString(", "))

RDD 的创建

RDD 可以从对象集合或外部存储系统中创建:

从对象集合创建 RDD

val rddFromList = sc.parallelize(List(1, 2, 3, 4))

从外部存储创建 RDD

val rddFromTextFile = sc.textFile("path/to/textfile.txt")

Spark 运行模式

Spark 支持多种运行模式:

  • 本地模式:适用于开发和测试。
  • Spark Standalone 模式:使用 Spark 自带的资源调度器。
  • Spark On YARN 模式:使用 YARN 作为资源管理器。

Spark Standalone 模式的搭建

  1. 配置 spark-env.sh 文件。
  2. 使用 start-all.sh 脚本启动 Spark 集群。

Spark On YARN 模式的搭建

  1. 配置 spark-env.sh 文件,指定 Hadoop 相关属性。
  2. 使用 spark-submit 提交应用程序到 YARN。

示例:提交 Spark 应用程序

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
/export/servers/spark/examples/jars/spark-examples_2.12-3.3.3.jar

Apache Spark 是一个功能强大、灵活且易于使用的大数据处理框架。随着技术的不断发展,Spark 将继续在大数据处理领域发挥重要作用。

标签:val,YARN,RDD,算子,Apache,Spark,安装,spark
From: https://www.cnblogs.com/xiaoyu-w/p/18263352

相关文章

  • MySQL-5.7.38 基于二进制包一键安装脚本
    #!/bin/bash##********************************************************************#Author: Kevin#Date: 2024-06-23#FileName: install_mysql.sh#Description: Thetestscript#Copyright(C): 2024Allrightsreserved#****************************......
  • Zookeeper安装、配置与基本操作指南
    ApacheZookeeper安装、配置与基本操作指南ApacheZookeeper是一个分布式协调服务,用于维护配置信息、命名、提供分布式同步以及提供组服务。本文结合两篇详细的技术文档,介绍Zookeeper的安装、配置以及基本操作。一、Zookeeper的安装与配置1.环境准备在安装Zookeeper之......
  • CMake从安装到精通
    目录引言1.CMake的安装2.CMake的原理 3.CMake入门3.1 CMakeLists.txt与注释3.2版本指定与工程描述3.3 生成可执行程序3.4 定义变量与指定输出路径3.5 指定C++标准3.6搜索文件 3.7包含头文件 4.CMake进阶4.1生成动静态库4.2 链接动静态库4.3日......
  • StyleWriter4英语论文润色神器安装使用教程
    StyleWriter4是一款强大的英文写作助手软件,论文润色非常优秀,专注于提升用户书面表达的清晰度、简洁性和专业性。它通过深度分析技术检测文本风格、语法、冗余及复杂性等问题,提供实时修改建议,帮助用户改进文档可读性,遵循最佳写作实践,并确保内容符合特定的文体要求,适用于学术论文、......
  • 从工具产品体验对比spark、hadoop、flink
    作为一名大数据开发,从工具产品的角度,对比一下大数据工具最常使用的框架spark、hadoop和flink。工具无关好坏,但人的喜欢有偏好。目录评价标准1效率2用户体验分析从用户的维度来看从市场的维度来看从产品的维度来看3用户体验的基本原则成本和产出是否成正比操作是否“......
  • Apache Flink 和 Apache Spark详细介绍、优缺点、使用场景以及选型抉择?
    ApacheFlink和ApacheSpark我该投入谁的怀抱?ApacheFlink简介:ApacheFlink是一个用于分布式流处理和批处理的开源框架。它以实时数据处理和事件驱动的流处理著称,提供高吞吐量和低延迟的处理能力。功能:流处理:Flink可以处理实时数据流,支持低延迟和高吞吐量的流处理......
  • mongoDB教程(二):下载安装
    还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。No.内容链接1Openlayers【入门教程】-......
  • Grab 基于 Apache Hudi 实现近乎实时的数据分析
    介绍在数据处理领域,数据分析师在数据湖上运行其即席查询。数据湖充当分析和生产环境之间的接口,可防止下游查询影响上游数据引入管道。为了确保数据湖中的数据处理效率,选择合适的存储格式至关重要。Vanilla数据湖解决方案构建在具有Hive元存储的云对象存储之上,其中数据文件以P......
  • 66Uptime – 网站服务器 & Cronjob 监控工具 v35.0.0扩展中文版安装
    66Uptime是一款自托管、易于使用、轻量级且高性能的网站服务器和Cronjob监控工具。以其丰富的功能和便捷的管理方式,为用户提供了全方位的网站服务器和Cronjob监控解决方案:主要功能:监控网站服务器和Cronjob的运行状态,确保它们持续稳定运行。提供从多个位置检查显示器的功......
  • CentOS Server安装Google-Chrome浏览器
    配置yum源在目录/etc/yum.repos.d/下新建文件google-chrome.repovim/etc/yum.repos.d/google-chrome.repo添加如下内容[google-chrome]name=google-chromebaseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearchenabled=1gpgcheck=1gpgkey=https://dl......