今天我們來聊聊 Scope 這件事吧!不要小看這件事情,有很多東西還是對進階的 Developer 有所幫助呢! Python 3 在 Python 的世界,...
趁最後幾天衝一下我很愛的分散式資料庫Cassandra。如果要用30秒的電梯演講說明Cassandra的優點,我會說: Cassandra是個開放源碼、分散式...
從我的文章就大慨可以看出,我的內容很偏資料工程,而不是所謂的資料科學,更沒有講到半點ML或是DP。因為我是一位熱愛資料處理的(資料工程師)數據領域黑手XD。雖然...
由於公司對於員工自購筆電有補助, 想來想去自然是挑不二價的 MacBook Pro 啦! 入手時間是端午過後, 本文主要是分享這 10 來天將MacBook P...
昨天完成Cassandra的簡易安裝,並在cqlsh中走過基本的CRUD、UDT以及一些稍微特別的操作馬拉松後,今天當然要進一步用Spark與Cassandra...
前一天我們建立了一些變數,如lines、bsdLines等,有沒有感覺他們跟一般變數沒兩樣呢?在Spark中這些變數被稱為RDD(Resilient Distr...
先來張Spark 2.0賀圖,這樣也算直上Spark-shell了......XD 開發環境簡述 Java8 Hadoop2.7.2(為了HDFS) Spar...
以前在學程式的時候有沒有感覺老師一直講API很無聊啊,所以我們還是要套個實際範例啊!!後續的內容會有許多XXX概念 by Use Case系列,學了總是要用才有...
我們昨天已經看過如何在Scala中獨立使用Kafka。以我之前的經驗,Kafka Producer的部份有比較多的可能會與其他系統而不是Spark整合,這時候就...
Spark Streaming支援多種資料來源,最基本內建常用的有: 檔案輸入串流 (File input Stream) Socket輸入串流 (Socke...
今天的主題是 Abstract class,也就是抽象類別。抽象類別跟一般類別不同之處在於,抽象類別僅定義方法,而沒有實作,因此不能直接拿來生成物件。舉個例子...
任何結構性的資料(ex:Json)在Spark SQL下,都可以透過createOrReplaceTempView("view名稱") 告知...
今天的主題是 Loop,也就是迴圈。迴圈是一種常見的控制流程,意思是一段程式,我們可以執行特定次數,或者是當某個條件成立時,就停止執行。當然我們有時候會不小心寫...
今天的主題是延續昨天的 Binary Search Tree,我們要來看其中一種 Traversal 的方法,所謂 Traversal 就是用某種順序來走訪 B...
先前寫了那麼多程式,是時候來談談測試了。這裡的測試指的是 Unit test,大部分的時間是以一個 Function、Class 等等為單位去測試,看輸入幾組設...
還記不記得昨天用forExpression產生一個優雅的employees Set?並且用於UDF中? val employees = Set() ++...
終於進入下一個主題:Spark Family的Spark Streaming篇~ 講解過程中要從一些外部系統接資料,特別是HDFS跟Kafka,所以免不了要提一...
spark-shell玩夠了,開始寫標準的APP吧。這支簡易的應用會load一份json檔案並透過SparkSQL操作一些查詢。sparkSQL厲害的地方之一就...
今天來聊聊Spark的partition,也就是RDD的DD(Distributed dataset)。基本上一個RDD會有數個不等的partition所組成,...
今天我們來看各家有什麼樣的資料結構來存放 Key-value pair 囉!而這樣的結構又是一對一的映射關係,也就是一個 Key 只會對到一個 Value。而我...
今天終於要來談談介面,也就是 Interface 啦!之前當我們在談繼承以及抽象類別的時候,說到在 Golang 跟 Rust 並沒有這樣的概念,在這兩個語言則...
今天要來談的是遞迴,不知道大家小時候有沒有跟我一樣,一看到遞迴就會有種莫名的恐懼,覺得很難去推論出這個遞迴函式到底要做什麼事情,然後到最後就頭暈了…但我沒想到...
今天我們要來談談另外兩個很常見的線性資料結構:Queue 和 Stack。Queue 的概念就是先進先出啦!就像是排隊買東西,當然先來的人要讓他先買囉!而 St...
往下介紹之前,先講解一下Scala中的Implicit Conversion(隱式轉換),因為Spark大量使用宣告方式,所以了解Implicit Conver...
今天在 Hackerrank 的安排是複習的一天,本來的題目是比較容易,所以在這裡我想我們就來做一些比較經典的問題,但又跟先前的主題有關係。這裡我選了一個經典的...
Spark 1.6版時提出了新的stateful函式:mapWithState。本篇延續之前的範例,然後介紹mapWithState。 我們建立了兩個RDD:...
延續先前的範例,假設我只想看見一點的股票交易資料勒?例如: 最近一個小時內,總交易次數總為何?交易量最高的五支股票為何? OK,來分析問題。首先每批資料的區...
看完最直接的pattern match基礎應用,稍微講一些周邊作為番外的Ending吧,常常與pattern match一起提到的概念大概有Extrator、C...
如何讓你的程式不失控呢?當然就是要學好控制流程啦!今天我們來談談 Conditional statements,也就是如何改變程式執行的流程。其實就是像 if...
再來準備花幾天的時間提一下幾個Spark核心概念: PairRDD Partition Aggregation類操作 RDD相依性 累加器與廣播變數 Sp...