Category: Big Data & Machine Learning

[Hive] Hive Server with Spark Standalone

在上一篇我們介紹了如何利用 MySQL 服務建立屬於自己的 Hive Metastore 資料庫,並且利用 Spark SQL 的方式對 Metastore 裡面的資料做存取,根據上方圖示,我們可以理解除了 Spark 可以對 Hive Metastore 做存儲之外,我們也可以利用 Hive, Impala, Presto, Apache Hudi 甚至是最近出來的 Apache Superset 來做資料串接,本篇想要紀錄並且比較這幾種技術的優缺點是什麼?

詳細內容

[Hive] Metastore in Azure Databricks

在開發 Spark 與 Deltalake 的應用的時候,需要建立很多的 Table 與 Database 等資源,這些 Table 的資源究竟是怎麼管理的?就是 Hive Metastore 的角色,我們在很自然使用 Spark SQL 的時候,是否真正了解背後發生了什麼事情?本篇我們紀錄如何在 Databricks 上面使用客製化的 Hive Metastore。

詳細內容
apache-spark

[Spark] 常見錯誤 NoSuchMethodError/ClassNotFound

檸檬爸在開發 Spark, Java, Scala 程式的時候很常遇到 NoSuchMethodError/ClassNotFound 這兩個錯誤,通常出現這兩個錯誤訊息的時候,主要原因是因為 Java Package 的 Dependency Conflict,在開發 Spark 的應用的時候究竟要怎麽去處理會比較好?本篇想要紀錄幾個常用的解法,包含Java 指令, JD-GUI 與 Maven Dependency:Tree 的介紹。

詳細內容

[K8S] On-Demand Spark Cluster on AKS

最近在研究如何在 K8S 上面跑一個 On-Demand 的 Spark Cluster 服務,基本上有兩條路可以走,一條是利用 k8s 的 Deployment 來自建 Spark Cluster,另外一條路則是利用 Kubernetes 既有與 Spark 對接的介面 (這邊是利用 spark-submit) 來實作,概念上就是直接執行一個類似下方的指令,所以想要擁有一個 On-Demand Spark Cluster on AKS 這兩種方法個有什麼優劣?

詳細內容

[Spark] 建置自己的 Spark History Server

進入大數據的世界,基本上脫離不了使用 Spark 這個平行運算的框架,把問題拆小之後,利用螞蟻雄兵的力量可以更容易解決問題,這也是離散數學裡面提到的 Divide and Conquer 的概念,檸檬爸之前有寫過一些介紹 Spark 的文章,也有介紹如何在 Azure 的雲端平台裡面去開啟 On Demand 的 Spark Cluster。本篇要來介紹在運行 Spark Cluster 的時候一定不要忘記要開的 Spark History Server,本篇參考 aztk 的程式碼與 Spark 3.0.1 關於 Monitoring 的網頁,介紹怎麼使用 Spark History Server 。

詳細內容