涛声依旧在 发表于 2024-7-13 18:56:29

云盘算与云存储 期末复习

目次
1.RDD弹性特性
2.创建RDD的四种方式
3.RDD算子分为两种:转换型和举措型。
4.RDD盘算实行次序
5.私有云、公有云、社区云的区别
6.云盘算的特点
7.转换算子
8.宽依靠窄依靠 解释 举例说明
9.WordCount
10.缓存和查抄点的区别
转换算子
举措算子

1.RDD弹性特性

   

[*] 存储的弹性:内存与磁盘的自动切换;
[*]容错的弹性:数据丢失可以自动恢复;
[*]盘算的弹性:盘算堕落重试机制;
[*]分片的弹性:可根据需要重新分片。
2.创建RDD的四种方式

   

[*]从已有的数据集(集合)创建RDD
[*]从外部数据源(如文件)创建RDD
[*]对已有的RDD进行转换操纵创建RDD
[*]通过RDD之间的操纵来创建RDD
3.RDD算子分为两种:转换型和举措型。

       转换:功能的增补和封装,将旧的RDD包装成新的RDD。
      举措:触发任务的调理和作业的实行。
4.RDD盘算实行次序

rdd的盘算一个分区内的数据是依次实行逻辑的,只有前面的数据实行完全部逻辑后,才会实行下一个数据。一个分区内的数据的实行是有序的。不同分区的数据实行次序是无序的。一个分区的环境:
       val lineRdd = sc.makeRDD(List(1, 2, 3, 4),1)
         val rdd1 = lineRdd.map(
             num =>{   
               println("-----------------"+num)
               num
             }
         )
         val rdd2 = rdd1.map(
             num =>{   
               println("++++++++++++++++++"+num)
               num
             }
         )
         rdd2.collect()
   https://img-blog.csdnimg.cn/direct/cc99f3a33dd245189206e4bffb1c70a6.png 2个分区的环境:
       val lineRdd = sc.makeRDD(List(1, 2, 3, 4),2)
         val rdd1 = lineRdd.map(
             num =>{   
               println("-----------------"+num)
               num
             }
         )
         val rdd2 = rdd1.map(
             num =>{   
               println("++++++++++++++++++"+num)
               num
             }
         )
         rdd2.collect()
   https://img-blog.csdnimg.cn/direct/a9b98e7e5e524da081ddb572da52a5dc.png 注解:分区为2的环境下,一个分区是1,2, 一个分区是3,4;对于一个分区来说,数据的实行是有序的,因此,1在2前面实行,3在4之前实行;但是不同分区的数据实行是无序的,因此1和3那个先实行是未知的。


5.私有云、公有云、社区云的区别

   (1)私有云:


[*]私有云是指由单个组织或企业独立拥有、管理和维护的云盘算基础办法。
[*]私有云通常部署在组织自己的数据中心或受信任的第三方数据中心,并且可以提供更高的数据安全和隐私控制。
(2)公有云:


[*]公有云是由第三方云服务提供商(如亚马逊AWS、微软Azure、谷歌云平台等)提供的云盘算基础办法和服务。
[*]用户可以通过互联网访问公有云服务,按需购买盘算本领、存储资源和其他服务,并且通常以按利用量付费。
(3)社区云:


[*]社区云是一种云盘算模式,针对特定行业、共同体或长处相关者群体而设置。
[*]该模式允许不同组织共享云基础办法,并具有定制的特性以满足特定社区的需求,同时分身安全性、隐私性和合规性方面的考量。


6.云盘算的特点

资源池化,弹性伸缩,安全可靠

7.转换算子

Map:
Zip:
sortBy:
       val rdd = sc.makeRDD(List(("11", 2), ("1", 1), ("2", 3)), 2)
val sortRDD: RDD[(String, Int)] = rdd.sortBy(t => t._1)

sortRDD.collect().foreach(println)
    (1,1)
(11,2)
(2,3)

       val rdd = sc.makeRDD(List(("11", 2), ("1", 1), ("2", 3)), 2)
val sortRDD: RDD[(String, Int)] = rdd.sortBy(t => t._1.toInt)

sortRDD.collect().foreach(println)
    (1,1)
(2,3)
(11,2)

groupByKey:
       val rdd = sc.makeRDD(List(("a",1), ("a", 2),("a", 3),("b",1)),2)
val groupRDD: RDD[(String, Iterable)] = rdd.groupByKey()

groupRDD.collect().foreach(println)
    (b,CompactBuffer(1))
(a,CompactBuffer(1, 2, 3))
reduceByKey;
       val lineRdd: RDD = sc.makeRDD(List(1, 2, 3, 4, 1 , 2, 3, 1), 2)

val rdd1: RDD[(Int, Int)] = lineRdd.map((_, 1))
//(1,1), (2,1), (3,1), (4,1), (1,1), (2,1), (3,1), (1,1)

val rdd2: RDD[(Int, Int)] = rdd1.reduceByKey((t1,t2)=>t1+t2)
//      val rdd2: RDD[(Int, Int)] = rdd1.reduceByKey(_+_)
//(1,1), (1,1) , (1,1)=> (1,2), (1,1) => (1,3)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 云盘算与云存储 期末复习