今天要來談談 Generic。由於靜態語言對於宣告的類型有嚴格的規定,Generic 的出現則是讓這件事情變得更加彈性,可以將一套程式碼複用在不同類型的資料上。...
設定完了,開始來看看Spark Streaming到底是啥吧!基本上寫Streaming我會比較習慣在IDE中,所以回到Intellij + Scala Plu...
一直很想把Patten matching、Case Class、Extrator、Sealed的相關概念寫一下,就再來個番外吧。今天沒有Spark,但是有很重要...
延續昨天的案例,昨天的案例中,我們已經可以順利取得某類GitHub Event(例如PushEvent)的所有成員,並且進行一些額外操作(例如GroupBy,...
昨天我們看了SparkingStreamingContext的起手式與一個stateless的use case。基本上,我認為stateless不用處理關注其他...
Spark Streaming裡面的API操作主要分為兩大類: Stateless Streaming StateFul Streaming State...
今天我們要來看的是 Binary Search Tree (BSTs)。Tree 是由有限節點組成具有層次關係的集合。以下圖為例,最上面的節點稱作根節點 (Ro...
聚合(Aggregation)功能無論是資料處理或分析中不可或缺的功能。無論是最常見的avg、sum、min、max,count等或是自定義的聚合,接下來就來個...
終於要進入core API實戰的最後一篇~Accumulator與Broadcast,趕快開始吧! Accumulator Accumulator可在不同的ex...
了解Joining用法後來看看Sorting跟Grouping,Grouping的high-level API我們前幾天已經看過了,今天會講一個底層的Combi...
講完了pairRDD與聚合函數後,再來講CoreAPI最後一塊拼圖:Task & Stages。今天的文章比較偏概念性的內容,說明Spark的工作概念與...
看懂Aggregate之後,再來的就簡單多了,繼續討論其他的聚合函數吧,還有: AggreByKey Fold FoldByKey Reduce Reduce...
今天我們要來談談 Sorting,也就是排序。排序看似不起眼,但其實在電腦的世界扮演了許多關鍵的角色,例如當我們要更有效率地搜尋出某個東西的時候,又例如我們要按...
繼續進行昨天未完成的課題我們想要進行以下分析: 消費次數最多的贈予一支bear doll(已完成) 給予一次購買兩隻以上的Barbie交易結帳金額95%折的...
聖誕快樂~ 今天就來說說Scala的Currying吧,Scala官方說法為: Methods may define multiple parameter l...
始 不知道大家有沒有看過有一本書叫做 seven languages in seven weeks,這本書是希望能夠讓你用七週的時間,每個禮拜都能夠去認識一門新...
先前處理的都是單一RDD然後轉換得到我們要的結果,假設我的需要一次處理兩個RDD以上呢?這不就像DB的join嗎?沒錯,接下來要談的主題就是RDD的 Join、...
今天的主題是 Data Types,雖然乍看之下可能會以為很無聊,但是內容還是很豐富唷!因為我還是會在過程之中介紹到該語言的一些特性。那就讓我們開始吧! 今日...
今天的主題是 Arithmetic operators,就是讓我們來做一些數學運算吧!實作上是件很簡單的事,我們就只是把幾個變數拿來加減乘除並且印出結果,你一定...
今天的主題是建立一個 Class Person(不過我們待會就會看到不是每個語言都有所謂的 Class),而 Person class 有一個屬性是 age,...
今天的主題在 Hackerrank 的安排下是延續昨天的主題。昨天我們做的事情是當發現異常的時候,各種語言是用什麼樣的方式在解決。然而今天我們要來看看如何讓我們...
今天 Hackerrank 的主題是探討時間複雜度,透過的題目是給定一個整數,看看這個整數是不是質數。假設這個質數是 n 的話,希望解法的時間複雜度是 O(根號...
先前我們已經有講過 Array 以及各語言與 Array 類似的資料結構,現在讓我們進一步來看當我們的 Array 從 Single dimension 變成...
今天要來談的是,如何在這四個語言去實作出 Linked list。而 Linked list 是怎樣的資料結構呢?我們可以看到下面每個 Node 都有綠色和黃色...
今天我們來探討跟 Array 相關的話題吧!當然不是每個語言都有內建 Array,而是有其他類似的,我們會一起來看看有什麼樣的不一樣囉!(今天比較像是自由探索,...
今天要來看看一個大家應該不會太陌生,但對我來說每次只要一久不用就會忘掉的正規表示式 (Regular expression)。正規表示式在處理複雜規則的字串很有...
今天我們來看看 Error handling 的部分吧!也就是如何處理異常和錯誤。異常和錯誤又有點不一樣,錯誤往往是指非預期的情況,必須透過修改程式來解決,而異...
今天是鐵人賽的最後一天了。老實說每天要四個語言實在是有點太高估自己的時間狀況,加上 Context Switch 的成本,導致過程之中許多時候都只能先寫部分再慢...
繼承是 Object-Oriented Programming 當中的一個概念。如果我們說一個類別 B 繼承了類別 A,則 B稱為 A的子類別,A 就是 B的父...
今天的挑戰內容是把一個整數本來是十進位表示,變成是二進位表示。例如 5 變成二進位的話是 101,13 變成二進位是 1101。然而我們不只是要以二進位表示,而...