【聊聊幹貨】傳統SQL、Java開發能轉Spark嗎?想要把Spark學好,Java基礎是關鍵。
[驚呆]:“之前一直是寫傳統SQL和Java開發的,想轉到Spark可不可以?”
[奮鬥]:“太可以了!”
傳統SQL是一個面向業務的資料處理語言,它更加上層,更加貼近業務能了解的語義。
但它隻能将資料放在一張一張結構化後的表中,然後以表為機關進行資料處理操作;它最大的缺點就是對資料源的格式要求很高,資料處理的粒度比較粗,不夠靈活。
相比SQL,Java靈活性高,它對資料處理粒度和處理邏輯會更加的細緻;對資料源的形式也幾乎沒有任何限制,隻要你清楚把資料處理成什麼樣子,然後編寫對應的代碼就可以了。
但是它的缺點就是:一次任務隻能在一台機器上運作,無論你的java代碼寫的多麼漂亮,它隻能利用一台伺服器的計算能力,如果是超大的資料規模,他的缺點就很容易暴露出來。
而對于Spark來說,它集中了SQL和Java的優點,還突破了單伺服器因為資源受限,無法一次性處理超大資料集的限制。
Spark因為有SparkSQL,是以可以和普通SQL進行無縫結合;而Spark core的lamda表達式本質上就是一個隻限定了形參個數和傳回值類型的java函數,對于資料處理的具體邏輯,都可以用java來實作。
是以:你之前寫過的所有和資料處理相關的Java程式,都可以非常輕松的遷移到Spark代碼中,唯一要注意的是:遷移過程中,需要符合Spark的架構規範。
Java基礎紮實了,玩轉Spark就不在話下。(圖1為Spark簡介;圖2,3,4為SQL Studio)
#程式員##網際網路##SQL#