博客
关于我
Spark初识 --- spark-core Rdd的创建及分类
阅读量:316 次
发布时间:2019-03-04

本文共 1150 字,大约阅读时间需要 3 分钟。

Spark 的初识与 RDD 基础

Spark 是一个强大的并行计算框架,能够处理大规模数据的复杂计算任务。作为 Spark 的核心,Resilient Distributed Dataset(RDD)是 Spark 提供的数据处理与计算的基础。

Spark 与 Hadoop 的历史回顾

Spark 并不是第一个大数据处理框架,它的前身可以追溯到 Hadoop。Hadoop 在早期的大数据处理中以其分布式处理能力和容错机制而闻名。然而,随着大数据应用的快速发展,Spark 因其高效的并行模型和内存优化而逐渐成为主流。

Spark 框架与 Hadoop 的对比

与 Hadoop 相比,Spark 的主要优势在于其内存处理能力和更高效的并行模型。Spark 提供了更加灵活和便捷的API,适合处理多种类型的数据和复杂的分析任务。

RDD 的核心特点

RDD 可以看作是 Spark 的数据容器,具有以下特点:

  • 弹性分布式数据集:RDD 是一种虚拟数据集,它只是对数据文件的引用,而不是实际的数据复制。Spark 会根据需要动态分配数据块。

  • 内存优化:Spark 的 RDD 通常运行在内存中,这使得数据访问速度显著提升,适合需要频繁读写的场景。

  • 编程模型:RDD 提供了一个高级的编程模型,支持函数化编程和惰性求值(Lazy Evaluation),这使得大规模数据处理更加高效。

  • RDD 的创建方式

  • 本地数据集:通过 parallelizemakeRDD 方法创建 RDD。parallelize 可以为 RDD 指定分区数,而 makeRDD 则会根据数据文件自动确定分区。

  • 外部数据集:通过 textFile 或其他读取外部存储(如 HDFS)的方法创建 RDD。这种方法会根据文件的存储结构自动划分分区。

  • 衍生 RDD:通过对现有 RDD 进行操作(如 mapreduce 等)创建新的 RDD。新生成的 RDD 与原 RDD 是独立的。

  • RDD 的分类与操作

    RDD 支持多种数据类型和操作类型:

  • 基础类型数据:如 Int、String 等,适用于结构化数据处理。

  • 键值数据:通过 PairRDD 类处理键值对数据。

  • 数值数据:提供了专门的算子来处理高性能计算任务。

  • RDD 的惰性求值机制

    Spark 的惰性求值机制(Lazy Evaluation)是其核心优势之一。所有 Transformation 操作不会立即执行,而是记录在 RDD 上。当需要结果时,才会触发相应的 Task 执行。这大大减少了资源浪费,提升了处理效率。

    通过以上内容可以看出,Spark 的 RDD 模型为大数据处理提供了强大的工具。理解 RDD 的特点和操作方式,是掌握 Spark 技术的基础。

    转载地址:http://mrhq.baihongyu.com/

    你可能感兴趣的文章
    OpenCV(1)读写图像
    查看>>
    OpenCV:概念、历史、应用场景示例、核心模块、安装配置
    查看>>
    Openlayers图文版实战,vue项目从0到1做基础配置
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>
    OpenMCU(一):STM32F407 FreeRTOS移植
    查看>>
    OpenMCU(二):GD32E23xx FreeRTOS移植
    查看>>
    OpenMMLab | S4模型详解:应对长序列建模的有效方法
    查看>>
    OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
    查看>>
    OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
    查看>>
    OpenPPL PPQ量化(4):计算图的切分和调度 源码剖析
    查看>>
    OpenPPL PPQ量化(5):执行引擎 源码剖析
    查看>>
    Openresty框架入门详解
    查看>>
    OpenResty(2):OpenResty开发环境搭建
    查看>>
    openshift搭建Istio企业级实战
    查看>>
    Openstack 之 网络设置静态IP地址
    查看>>
    OpenStack 综合服务详解
    查看>>