一 為什麼會有spark?
因為傳統的平行計算模型無法有效的解決迭代計算(iterative)和互動式計算(interactive)而spark的使命便是解決這兩個問題,這也是他存在的價值和理由.
二 spark如何解決迭代計算?
其主要實現思想就是rdd,把所有計算的資料儲存在分布式的記憶體中.迭代計算通常情況下都是對同乙個資料集做反覆的迭代計算,資料在記憶體中將大大提公升io操作.這也是spark涉及的核心:記憶體計算.
三 spark如何實現互動式計算?
因為spark是用scala語言實現的,spark和scala能夠緊密的整合,所以spark可以完美的運用scala的直譯器,使得其中的scala可以向操作本地集合物件一樣輕鬆操作分布式資料集.
四 spark和rdd的關係?
可以理解為:rdd是一種具有容錯性基於記憶體的集群計算抽象方法,spark則是這個抽象方法的實現.
在Spark中盡量少使用GroupByKey函式
為什麼建議盡量在spark 中少用groupbykey,讓我們看一下使用兩種不同的方式去計算單詞的個數,第一種方式使用reducebykey 另外一種方式使用groupbykey,如下 01 user 過往記憶 02 date 2015 05 18 03 time 下午22 26 06 過往記憶部落...
解析RDD在Spark中的地位
1.spark的核心概念是rdd resilient distributed dataset 指的是乙個 唯讀的,可分割槽的分布式資料集,這個資料集的全部或部分可以快取在記憶體中,在多次計算間重用。2.rdd在抽象上來說是一種元素集合,包含了資料。它是被分割槽的,分為多個分割槽,每個分割槽分布在集群...
kryo在spark中的使用 (scala)
package com.shufang.spark rdd import com.esotericsoftware.kryo.kryo import org.apache.spark.rdd.rdd import org.apache.spark.serializer.kryoregistrator...