码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • spark学习索引


    一、 RDD

    弹性分布式数据集(resilient distributed dataset),控制不同机器上的不同数据分区,通过“partitionBy”对数据在不同机器上进行重排。一个task对应一个分区。

    元数据类型

    分区列表、
    计算每个分区的函数、
    对父RDD的依赖列表、
    对Key-Value对数据类型RDD的分区器,控制分区策略和分区数。

    创建方式

    1. Hadoop文件系统输入创建
      从集合中创建:
      intRDD = sc.parallelize([4,1,2,5,5,6,8])
      kvRDD.collect() # 动作
      kvRDD1 = sc.parallelize([(2,3),(3,5),(4,6),(1,2)])
      kvRDD.collect() # action
      从文件读取:如果是分布式,需要将文件复制到不同地方
      本地
      lines = sc.textFile(“file:///home/hadoop/temp/word.txt”)
      lines.foreach(print)
      远程
      from pyspark import SparkConf,SparkCountext
      conf = SparkConf().setMaster(“local”).setAppName(“My App”)
      sc = SparkContext(conf = conf)
      lines = sc.textFile(“hdfs://hadoop1:9000/tmp/word.txt”)
      lines.foreach(print)

    from pyspark.files import SparkFiles
    sc.addFile(“word.txt”)
    sc.textFile(SparkFiles.get(“word.txt”))

    1. 父RDD转换得到新的RDD

    二、Map

    map是对RDD 中的每个元素都执行一个指定的函数来产生一个新的RDD。
    rdd.map(lambda x:x+1)

    三、Reduce

    reduce函数对所有的元素调用同一个函数,可以把所有的数据合并在一起,并返回最终的调查结果。
    rdd.reduce(lambda x,y:x+y)

    reduceByKey函数专门针对键值对类型的数据,生成新的RDD

    四、 DAG

    有向无环图(Directed Acyclic Graph)连接了一个个RDD,
    spark的转换操作不会执行,动作操作才会执行。
    不同的RDD之间存在宽依赖和窄依赖,
    窄依赖是一个父RDD的分区仅对应一个子分区,有利于计算的并行。
    宽依赖是一个父RDD的分区对应多个子分区,一个stage中的所有依赖都结束了,才会进入下一个stage.另外如果某个task出错了,需要重算整个stage。

    五、Transformation

    对RDD进行转换产生新的RDD。

    标准的RDD

    map

    对每一个元素进行操作

  • 相关阅读:
    合规合规,合规法规的挑战与解决方案
    Langchain 代理 (Agents) ,赋能超级 LLMs
    redis(7):Redis的特殊数据类型以及常用相关命令详解
    软件测试经验盘点:测试人的至暗时刻&高光时刻
    CockroachDB-备份与恢复(4)管理备份计划
    高仿英雄联盟游戏网页制作作业 英雄联盟LOL游戏HTML网页设计模板 简单学生网页设计 静态HTML CSS网站制作成品
    rocket-chip verilator@ubuntu20.04验证环境操作指南
    vue 封装一个Dialog组件
    Ceph入门到精通-存储集群ceph df 用量统计算法说明
    【OpenCV 例程200篇】212. 绘制倾斜的矩形
  • 原文地址:https://blog.csdn.net/weixin_43899514/article/details/126901239
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号