天天看點

《Spark與Hadoop大資料分析》——3.7 小結

RDD 是 Spark 中基本的資料單元,Spark 程式設計就是圍繞建立和執行 RDD 上的操作(如變換和動作)進行的。Apache Spark 程式可以在 shell 中互動式執行或通過送出應用程式來執行。它的并行度是由 RDD 中的分區數量決定的。而分區的數量則由 HDFS 檔案中的區塊數或資料總管的類型以及用于非 HDFS 檔案的配置屬性決定。

在記憶體中緩存 RDD 對于在同一 RDD 上執行多個動作是有用的,因為它提供了更高的性能。當使用 MEMORY_ONLY選項緩存 RDD 時,沒有放入記憶體中的分區将在需要時重新計算。如果重新計算的開銷比較大,最好還是選擇 MEMORY_AND_DISK 作為持久化的級别。

Spark 的應用程式可以在用戶端或叢集模式下送出。用戶端模式用于開發和測試,而叢集模式用于生産部署。Spark 有三種不同的資料總管可供選擇:Standalone、Yarn 和 Mesos。對叢集資料總管的選擇取決于資源共享和預期性能的級别。在所有情況下,Spark 預設的 Standalone 資料總管都會提供更高的性能,因為它的排程成本低。

下一章将使用 Spark SQL、DataFrame和 Dataset來介紹大資料分析。

繼續閱讀