Spark学习-DAY4

RDD编程

RDD创建

  1. 从文件系统中加载数据

    sc->sparkContext(指挥官)

    分布式文件系统加载

    第一行:系统默认去当前登录Ubuntu系统得用户在HDFS当中所对应得用户主目录中去寻找
  2. 通过并行集合(数组)

RDD操作

  1.  转换操作

    RDD常用转换操作:

    filter

    map

    从本地加载数据

    flatmap

    groupByKey
    iterable:可迭代得值

    将key相同的value归并为一个列表。(1,1,1)用pyspark.resultiterable.resultiterable对象
    reduceByKey

  2. 行动操作

  3. 惰性机制

    执行到totalLength才从头开始执行数据的操作

 持久化
 

 

RDD.cache()  #将RDD存储在内存中
RDD.unpersist()   #手动地把持久化地RDD从缓存中移除

 分区

  1. 分区的作用
    增加并行度
    减少通信开销

  2. 分区原则
    分区个数=集群中cpu核心数目
  3. 设置分区方法
    spark.default.parallelism设置

  4. 自定义分区方法

    分了10个分区,存储的时候生成10个文件,输出的时候是一个目录。

参考:

林子雨-Spark编程基础(python版)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值