RDD是什么

RDD简介 RDD概念 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,是spark core的底层核心,它代表一个不可变、可分区、里面的元素可并行计算的集合。 Dataset:就是一个集合,存储很多数据. Distributed:它内部的元素进行了分布式存储,方便于后期进行分布式计算. Resilient:表示弹性,rdd的数据是可以保存在内存或者是磁盘中. RDD 五大属性 A list of partitions RDD 是 一组 阅读详情

基本操作

  • wordcount.txt文件
hadoop lizemin
lizemin hadoop
lzm hadoop
  • bin/spark-shell 操作命令
val rdd1 = sc.textFile("file:///export/data/wordcount.txt")

val rdd2 = rdd1.flatMap(item=> item.split(" "))

val rdd3 = rdd2.map(item => (item,1))

val rdd4 = rdd3.reduceByKey((curr,agg) => curr + agg)

rdd4.collect()

res0: Array[(String, Int)] = Array((lizemin,2), (hadoop,3), (lzm,1))
  • bin\spark-submit 操作命令
/**
   * 提交运行
   * bin/spark-submit --class net.jd.spark.rdd.WordCount2 --master spark://node01:7077 spark-0.0.1.jar
   * @param args
   */
  def main(args: Array[String]): Unit = {
    //    创建SparkContext
    val conf = new SparkConf().setAppName("word_count")
    val sc = new SparkContext(conf)
    //    加载文件
    val rdd1: RDD[String] = sc.textFile("/export/data/wordcount.txt")
    //    处理
    val rdd2: RDD[String] = rdd1.flatMap(item => item.split(" "))
    val rdd3: RDD[(String, Int)] = rdd2.map(item => (item, 1))
    val rdd4: RDD[(String, Int)] = rdd3.reduceByKey((curr, agg) => curr + agg)
    //    得到结果
    val result: Array[(String, Int)] = rdd4.collect()
    result.foreach(item => println(item))

  }

RDD特点

1. RDD是数据集
2. RDD是编程模型
3. RDD相互之间有依赖关系
4. RDD是可以分区的

核心对象,sparkContext

  @Test
  def sparkContext(): Unit = {
    val conf: SparkConf = new SparkConf().setMaster("local[6]").setAppName("spark_context")
    val sc = new SparkContext(conf)
  }

从本地集合创建

  @Test
  def rddCreationLocal(): Unit = {
    val seq = Seq("test1", "test2", "test3")

    val rdd1: RDD[String] = sc.parallelize(seq, 2)
    val rdd3: RDD[String] = sc.parallelize(seq)

    val rdd2: RDD[String] = sc.makeRDD(seq, 2)
    val rdd4: RDD[String] = sc.makeRDD(seq)

  }

从文件创建

  @Test
  def rddCreationFiles(): Unit = {
    sc.textFile("////")

    /**
     *
     * 1. 传入一个 文件路径
     * hdfs://
     * file://
     * /../   如果在本地 读取的是本地文件  如果集群 读取的是 hdfs
     *
     * 2. 是否支持分区,
     * 支持,
     * 如果本地 取得是本地 cpu盒数 和 2 比较取小
     * 如果集群 由HDFS的block决定
     *
     * 3. 支持什么平台
     * AWS
     * 阿里云
     *
     */

  }

从RDD衍生

  @Test
  def rddCreateFromRDD(): Unit = {
    val rdd1: RDD[Int] = sc.parallelize(Seq(1, 2, 3))
    // 通过算子操作 , 生成新的rdd
    // 原地计算
    val rdd2: RDD[Int] = rdd1.map(item => item)

  }
PySpark | RDD Transformation算子、Action算子、分区操作算子 阅读详情

相关推荐

深入理解Spark RDD——RDD信息对象

RDDInfo用于描述RDD的信息,RDDInfo提供的信息如下: id:RDD的id。 name:RDD的名称。 numPartitions:RDD的分区数量。 storageLevel:RDD的存储级别(即StorageLevel)。 parentIds:RDD的父亲RDD的id序列。这说明一个RDD会有零到多个父RDD。 callSite:RDD的用户调用栈信息。 scope:...

beliefer的博客 3651

详解RDD基本概念、RDD五大属性

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD是spark core的底层核心。Dataset:RDD 可以不保存具体数据, 只保留创建自己的必备信息, 例如依赖和计算函数;RDD 也可以缓存起来, 相当于存储具体数据。Distributed: RDD 支持分区, 可以运行在集群中。Resilient:RDD 支持高效的容错;RDD 中的数据即可以缓存在内存中

大数据 1万+

Spark的RDD详解和自定义RDD(源码)

RDD概论具体概念百度(以下总结):Spark中 RDD本身并不是数据,只是数据信息的集合。里面包含数据的分区信息;和获取数据的方式;Spark有很多类型的RDD;getPartitions只运行一次;compute每次有action算子的时候都会运行,一个partition一次。NewHadoopRDD根据id(rdd的id)生成一个Jobid 获取分区的方式,是根据inputFormatC

spark的自由牧场的博客 4679

Spark核心RDD详解(设计与运行原理,分区,创建,转换,行动与持久化)

弹性分布式数据集, 是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,只能通过在其他RDD执行确定的转换操作(如map、join和group by)而创建,然而这些限制使得实现容错的开销很低。对开发者而言,RDD可以看作是Spark的一个对象,它本身运行于内存中,如读文件是一个RDD,对文件计算是一个RDD,结果集也是一个RDD ,不同的分片、 数据之间的依赖 、key-value类型的map数据都可以看做RDD。

个人学习笔记库,一篇一篇记录成长的足迹 4101

深入理解Spark RDD——RDD实现的初次分析

RDD(Resilient Distributed Datasets,弹性分布式数据集)代表可并行操作元素的不可变分区集合。对于Spark的初学者来说,这个概念会十分陌生。即便是对于一些有Spark使用经验的人,要想说清楚什么是RDD,以及为什么需要RDD还是一件比较困难的事情。在《深入理解Spark RDD——为什么需要RDD?》一文解释了第二个问题,本文将开启对第一个问题的解答。 有些读者可...

beliefer的博客 2006

RDD算子介绍

一、RDD算子简介 提供一优秀RDD讲解链接:https://blog.youkuaiyun.com/fortuna_i/article/details/81170565 spark在运行过程中通过算子对RDD进行计算,算子是RDD中定义的函数,可以对RDD中数据进行转换和操作,如下图 输入:spark程序中数据从外部数据空间输入到spark中的数据块,通过BlockManager进行管理 运行:...

fengfengchen95的博客 3802

RDD简介与基础编程

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据处理模型。在代码中,RDD是一个抽象类,他代表着一个弹性的、不可变的、可分区的、里面的元素可并行计算的集合。注意,RDD只是封装了计算逻辑,并不保存数据。RDD是一个抽象类,需要子类去实现。不可变指的是计算逻辑不可变,如果想要改变,则要产生新的RDD。

weixin_46628668的博客 2065

一文了解英伟达(NVIDIA)所有显卡芯片

英伟达(NVIDIA)的产品线庞杂繁复,从面向游戏玩家的GeForce RTX系列,到数据中心的H100、B200,再到Jetson、DRIVE等边缘智能平台,一般人很难以厘清其全貌。这篇文章将用通俗而专业的语言,一文打通英伟达显卡芯片体系,让你彻底读懂这个GPU帝国是如何运转的。

bjdx_001的博客 6357

RDD的5大特点

1)有一个分片列表,就是能被切分,和Hadoop一样,能够切分的数据才能并行计算。 一组分片(partition),即数据集的基本组成单位,对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算的粒度。用户可以在创建RDD时指定RDD的分片个数,如果没有指定,那么就会采用默认值。默认值就是程序所分配到的CPU Core的数目。每个分配的存储是由BlockManager实现的,每个分区

Mercy007的博客 8348

Xilinx XDMA驱动代码分析及用法

Xilinx XDMA驱动代码分析及用法 先简单的介绍一下,赛灵思的XDMA的驱动是用于做什么的、他的主要功能就类似与网卡pcie接口的网卡驱动、用于控制主机与fpga设备进行pcie的通讯。通讯的主要方式是设备文件的读写,这里不清楚的同学可以看一下我上一篇文章。通过控制设备文件的读写,操作驱动与fpga设备进行数据传输。 1、目录结构 zacha@Superman:~/nfs/xdma-debug/dma_ip_drivers-master/XDMA/linux-kernel$ tree -C . ├──

恍恍惚惚的大穷猫的博客 3万+

vcpkg管理OpenCASCADE的5个高效技巧:从多版本共存到离线部署

本文详细介绍了使用vcpkg高效管理OpenCASCADE的5个实用技巧,包括多版本共存、性能优化、团队共享、CI/CD集成和离线部署。通过自动配置和版本控制,vcpkg显著简化了OpenCASCADE的开发环境管理,特别适合工业级CAD开发场景。

rain6的博客 187

RDD

RDD<1> 概述一. 什么是RDD二. spark 编程模型1. DataSource2. SparkContext3. Diver(1)SparkConf(2)SparkEnv(3)DAGScheduler(4)TaskScheduler(5)ScheduleBackend二. RDD属性RDD的五个特征包含四个函数和一个属性:1. 一组分片(Partition)分片2. 一个计算...

我还是个菜鸟 1万+

Dev-C++使用技巧2(亲测)(更改字体和颜色、自动保存、快捷键选项、一键排版)

更改字体和颜色 顶部菜单栏->工具->编辑器选项。 更改字体 当前选项卡->显示,字体word有的基本都有,华文楷体、宋体,幼圆之类。西文字体默认字体Consloas就不错,中文的话幼圆、新宋体都挺不错。 幼圆效果: 新宋体效果: 更改颜色 当前选项卡->语法,分别单击图中的部分,然后在左边修改前景颜色就可以了。需要直接显示的修改前景颜色,背景颜色设为白色;需要选中显示的修改背景颜色,前景设为白色。 自动保存 我们有时候忘记保存或者电脑突然关机,可能会丢失代码。

魔神之云的博客 2万+

RDD的介绍、RDD的特点、创建RDD数据

RDD的介绍、RDD的特点、创建RDD数据

m0_70882914的博客 1741

【DAY11】超参数调整专题1

核心优势: 它不是随机选择下一个点,而是根据先前评估的结果建立一个概率模型(通常是高斯过程),预测哪些参数组合可能产生更好的结果,并据此选择下一个评估点。这使得它在寻找最优解方面通常比随机搜索更高效(用更少的迭代次数达到相似或更好的性能),特别是当模型训练(单次评估)非常耗时的时候。实际上,有着非常多的方式可以实现贝叶斯优化,上面的代码比较简洁美观,贝叶斯优化和网格搜索的代码书写风格高度一致。- 需要定义参数的搜索空间,与随机搜索类似,当搜索空间非常大时,它通常比网格搜索和随机搜索更有效。

daomingwu1的博客 747

【数据分享】12.5米分辨率DEM地形数据(分省)

该数据来源于NASA地球科学数据网站(https://nasadaacs.eos.nasa.gov/),是ALOS卫星获取的高精度地形数据。该数据由于精度高,包括全省范围的数据和省内每个城市范围的数据!

JData_Engineer的博客 2171

什么是Spark RDD?(RDD的介绍与创建)

什么是Spark RDD?RDD的介绍与创建

weixin_74292291的博客 1475

R语言机器学习算法实战系列(十五)随机森林生存预后模型+SHAP值 (Random Survival Forest + SHAP)

本教程运用随机森林生存分析筛选与患者生存状态显著相关特征。该方法借随机森林这一强大机器学习算法,构建多棵决策树并集成结果,以提高生存分析准确性,识别关键生物标志物。接着,利用选定特征构建风险得分,将多个特征转化为单一数值,量化患者风险水平。之后,依据风险得分将患者分为高、低风险亚型,为临床治疗提供个性化指导。最后,通过分析时间依赖的 ROC 曲线评估模型长期预测能力。此曲线计算不同阈值下的真正例率与假正例率,在多个时间点评估,全面展现模型长期稳定性与准确性。。并且增加了SHAP值评估特征重要性

专注生信领域 2622

RDD创建及RDD算子

​ Spark提供了一种对数据的核心抽象,称为弹性分布式数据集(Resilient Distributed Dataset,简称RDD)。这个数据集的全部或部分可以缓存在内存中,并且可以在多次计算时重用。RDD其实就是一个分布在多个节点上的数据集合。​ RDD的弹性主要是指:当内存不够时,数据可以持久化到磁盘,并且RDD具有高效的容错能力。​ 分布式数据集是指:一个数据集存储在不同的节点上,每个节点存储数据集的一部分。

qq_66369005的博客 1088

L2tp环境搭建笔记- Openwrt平台

本文使用3台openwrt设备, 分别搭建L2TP服务和2个客户端, 进行端到端验证和局域网组网,并分析搭建过程中涉及的默认路由( defaultroute) 配置问题。

十年通信老兵的技术修炼之路——从3G到5G,从地面基站到卫星通信。 3389

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RDD编程

RDD编程 一、RDD编程基础 1、RDD创建 Spark采用textFile()方法从文件系统中加载数据创建RDD,该方法把文件的URI作为参数,这个URI可以是本地文件系统的地址、分布式文件系统HDFS的地址或者是AmazonS3地址等。 (1)从文件系统中加载数据 (2)从分布式文件系统HDFS中加载数据 (3)通过并行集合(列表)创建RDD 2.RDD操作 RDD操作包含两种类型,即转换(Transformation)操作和行动(Action)操作 (1)转换操作 操作 含义

m0_46917254的博客 3997

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

spark_rdd算子介绍

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。

HYSliuliuliu的博客 8020

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

RDD入门——RDD 代码

RDD入门——RDD 代码

m0_56181660的博客 1096

Spark中RDD概述及RDD算子详解

Spark中RDD概述及RDD算子详解

weixin_52134189的博客 1439

PySpark(二)RDD基础、RDD常见算子

RDD定义叫做Dataset:一个数据集合,用于存放数据的。Distributed:RDD中的数据是分布式存储的,可用于分布式计算。Resilient:RDD中的数据可以存储在内存中或者磁盘中。RDD分区是RDD存储数据的最小单位,一份RDD数据实际上是被分成了很多分区RDD是逻辑的抽象概念,而分区是真实存在的物理概念例如map算子会作用在所有的分区上面以下面的例子为例,rdd是相互依赖的,例如rdd2依赖于rdd1,会行成一个依赖链条。

qq_54517101的博客 1686
上一篇: spark集群
下一篇: Spark-算子-transerformation
.JWY.
博客等级 码龄11年 10粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值