該儲存庫包含我提交的 Coursera MOOC 大數據分析(使用 Scala 和 Spark)作業,該作業由洛桑聯邦理工學院 (EPFL) 提供,由 Heather C. Miller 教授授課。
使用功能概念來操作分佈在集群上的大數據在工業中非常普遍,並且可以說是功能思想最先廣泛的工業用途之一。 MapReduce 和 Hadoop 的流行以及最近的 Apache Spark(一種用 Scala 編寫的快速記憶體分散式集合框架)就證明了這一點。在本課程中,我們將了解如何使用 Spark 將資料並行範例擴展到分散式案例。我們將詳細介紹 Spark 的程式設計模型,仔細了解它與熟悉的程式設計模型(例如共享記憶體並行集合或順序 Scala 集合)的不同之處以及不同之處。透過 Spark 和 Scala 中的實踐範例,我們將了解何時應考慮與分佈相關的重要問題(例如延遲和網路通訊)以及如何有效解決這些問題以提高效能。
學習成果。在本課程結束時,您將能夠:
推薦背景:您應該具有至少一年的程式設計經驗。熟練 Java 或 C# 是理想的選擇,但具有 C/C++、Python、Javascript 或 Ruby 等其他語言的經驗也足夠了。您應該熟悉命令列的使用。本課程旨在並行程式設計之後學習:https://www.coursera.org/learn/parprog1。
開始日期: 2022 年 1 月 4 日
完成日期: 2022 年 1 月 10 日
週:1
課程:使用 Scala REPL、使用 SBT 工具
描述:“此作業的目標是熟悉本課程所需的基礎設施和工具。儘管此作業中的成績將不包括在您的課程最終成績中,但完成此作業仍然很重要小心。”
年級: 10 / 10
週:1
課程:Spark 的 RDD 基礎知識
描述:“在這項作業中,我們將使用維基百科的全文數據來生成程式語言流行程度的基本指標,以了解我們基於維基百科的排名是否與流行的 Red Monk 有任何關係排名。”
年級: 10 / 10
週:2(為期兩週的作業)
課程:歸約運算和分散式鍵值對
描述:「本次作業的總體目標是實現一種分散式k 均值演算法,該演算法根據得分對熱門問答平台StackOverflow 上的帖子進行聚類。此外,這種聚類應該針對不同的程式語言並行執行,並且應該對結果進行比較。
年級: 10 / 10
週:4
課程:SQL、資料框與資料集
描述:「我們的目標是確定三組活動:主要需求(睡眠和飲食)、工作、其他(休閒)。然後觀察人們如何在這三類活動之間分配時間,以及我們是否可以看到男性和女性、就業者和失業者、年輕人(22 歲以下)、活躍人士(22 歲至55 歲)和老年人之間的差異。
年級: 10 / 10
必須解壓縮資源檔案才能使程式碼正常運作。