彈性分布式數據集(Resilient Distributed Dataset),簡稱 RDD,RDD 是 Spark 所提供的最基本的數據抽象,代表分布在集群中多臺機器上的對象集合。Spark 有兩種方法可以創建 RDD:
val rdd1 = sc.textFile("")
val rdd2 = sc.parallelize("")
scala> val rawData = sc.textFile("kddcup.data")
rawData: org.apache.spark.rdd.RDD[String]
注意此時類型為RDD[String]
的 rawData
所引用的數據仍然在集群上存儲。RDD 有許多方法,我們可以用其成員方法從集群讀取數據到客戶端機器上的 Scala REPL 中。最為簡單的方法大概就是 first 了,該方法向客戶端返回 RDD 的第一個元素(RDD 是彈性分布式數據集嘛):
scala> rawData.first
res0: String
first 方法可以對數據集做常規檢查,但通常我們更想返回更多樣例數據供客戶端分析。
scala> rawData.count
res1: Long = 4898431
如果 count 方法獲悉 RDD 只包含少量記錄,可以用 collect 方法向客戶端返回一個包含所有 RDD 內容的數組(Array[String]
)。此外還可以使用 take 方法該方法在 first 和 collect 之間做了一些折衷,可以向客戶端返回一個包含指定數量記錄的數組(Array[String]
),
scala> val head = rawData.take(10)
head: Array[String] = Array(...)
scala> head(0)
res2: String
scala> head.apply(0)
res3: String
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态