第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Spark入門(mén)(三):RDD概述

標(biāo)簽:
大數(shù)據(jù)
1.RDD概述

Spark 对数据的核心抽象---弹性分布式数据集(Resilient Distributed Dataset,简
称 RDD)

1.1 不可变

RDD是一个不可变的分布式对象集合,一旦创建便不能修改。

1.2 分区

每个RDD都可被分为多个分区,分布在不同的节点机器之上

1.3 转换(transformation)

转化操作会由一个 RDD 生成一个新的 RDD,从已有的RDD派生出新的RDD,Spark会使用谱系图来记录不同RDD之间的依赖关系。Spark需要用这些信息来按需计算每个RDD,也可以依赖谱系图在持久化的RDD丢失部分数据时恢复所丢失的数据。

1.4 行动(action)

行动操作会对 RDD 计算出一个结果,并把结果返回到驱动器程序中,或把结
果存储到外部存储系统中

1.5 惰性计算

当创建RDD或者从RDD派生RDD,spark都不会执行真正的计算,只有在第一次行动(action)执行时,才会执行真正的计算

val input = sc.textFile("derby.log") //此处并没有真正的去读取文件
val count= input.count() // 程序运行到这里才会去读取文件,并执行计算

代码验证

scala> val rdd =sc.textFile("hdfs://master:9000/derby.log")
rdd: org.apache.spark.rdd.RDD[String] = hdfs://master:9000/derby.log MapPartitionsRDD[1] at textFile at <console>:24

scala> rdd.count
org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://master:9000/derby.log
  at org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:287)
  at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:229)
  at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:315)
  at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:202)
  at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:252)
  at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:250)
  at scala.Option.getOrElse(Option.scala:121)
  at org.apache.spark.rdd.RDD.partitions(RDD.scala:250)
  at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
  at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:252)
  at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:250)
  at scala.Option.getOrElse(Option.scala:121)
  at org.apache.spark.rdd.RDD.partitions(RDD.scala:250)
  at org.apache.spark.SparkContext.runJob(SparkContext.scala:1958)
  at org.apache.spark.rdd.RDD.count(RDD.scala:1157)
  ... 48 elided

scala> 

val rdd =sc.textFile("hdfs://master:9000/derby.log")使用一个不存在的路径创建一个RDD,程序并没有报错,说明此时spark没有去读取文件。当调用count时,程序报错

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消