BerkeleyX: Introduction to Big Data with Apache Spark

JT
Data Scientists Playground
4 min readAug 22, 2018
edx class

很久很久以前在FB社團裡看到有前輩推薦這個課程,也過了非常久的時間,最近在和朋友相揪之下,就把這門課嗑完了。但這門課已經被archived了,所以作業都無法上傳,只能透過作業裡的答案check function,來確認自己自己有沒有寫對。

這門課可以對於比較不熟Data Science / Big Data的資料處理以及分析的捧油們,此門課會從最基本的Data Model以及Hadoop開始介紹到為什麼要用Spark,以及Spark改善了過去Hadoop 的哪些問題。

以下會稍微簡介課程內容:

Week1 / Week2 :
主要是介紹Big Dat以及資料分析概念,並從最基本的概念講起(Ex: mapreduce、Hadoop……等等)。對於較不熟的朋友可以慢慢閱讀。若很熟悉的朋友就可以先跳過。另外就是他有講解如何在自己的電腦建立Lab的環境,他主要是透過Vargrant起的VM並在上面juypter notebook寫作業。而在Week2就會開始說Spark的概念(RDD、 Lazy evaluation…等等),並講解RDD最基礎的function (map 、filter、reduceByKey、reduce)。在此次的Lab中,就有簡易的Spark操作可以練習。

Week3:
主要是講解Structured Data以及semi-Structured data的問題,像是Structured Data如何透過join function 操作,這邊比較有趣的semi — Structured Data的說明,他主要會以Web server access log做說明。並且在此次的Lab就是用Web server access log做為練習範例進行Spark的資料分析。

Week4:
主要講解Data Quality的部分,會focus在Dirty Data(如何處理Dirty Data等)以及如何監控Data Quality (Ex: Process Management、Data Quality Matrix設計),而最終根本的解決方案還是去對Data做EDA (Exploratory Data Analysis)。因此接著章節就是說明EDA 以及 ML,EDA僅簡單介紹方法,Ex: 統計手法等。ML的部分主要Spark MLlib以及Collaborative filtering。這次Lab主要是用Spark實作TF-IDF以及Cosine Similarity

Week5:
最後的Lab,主要是實作利用Spark MLlib ALS api 做推薦系統,Dataset是使用movielens 10M,後面還有加入自己的dataset進去train,蠻有趣的。

推薦系統MF (Lab4)

心得:
這門課算是對初心者非常友善的課程,若對於Spark RDD以及Hadoop等基礎有興趣的朋友們,可以將這門課閱讀,並將作業寫完。

(因課程已經archived,所以將作業附上,僅供參考)

--

--