Category: Big Data & Machine Learning

[BigData] 整合 BeeGFS 到 K8S 生態系

雖然公有雲的服務例如 AWS, Azure, GCP 已經逐漸普及了,但是私有雲 HPC 的市場還是一直有相對的份額,不同於公有雲的儲存服務,在佈建私有雲的時候,儲存  (Storage) 的解決方案仍然是一個需要花費大量心力的議題,本篇紀錄如何將 HPC 儲存方案之一的 BeeGFS 掛載到 K8S 的生態系裡面。

詳細內容

[GPU] Native Rapids UDF – Create Custom UDF

在上一篇我們成功實作了 HiveUDF,為了要進一步利用 GPU 加速,我們需要去實作 evaluateColumnar 這一個函數,參考 Spark Rapids 的 Github 與 ColumnView 裡面的範例,針對我們想做到的 UDF 我們沒有發現適合的函數去實作針對一個 Array[String] 的過濾程式,所以我們需要自己去實作 Tutorial 裡面所謂的 Native Code Examples,Tutorial 裡面針對 HiveUDF 只有提供一個範例是 StringWordCount,本篇我們紀錄藉由這個範例去實作一個支援 GPU 的 HiveUDF。

詳細內容

[Spark] Define and Register Hive UDF with Spark Rapids

在上一篇我們介紹如何透過 Spark Rapids 去利用 GPU 加速執行 SQL,我們遇到了幾個問題並一一解決,最後我們成功在 Spark Thrift Server 上面啟動了 Spark Rapids 的功能,並且使用 pyHive 將 SQL 的 Request 送進 Spark Cluster 裡面,為了要更進一步完全使用 GPU 的資源,在執行 SQL command 的時候如果遇到沒有支援 Spark Rapids 的 UDF (User-Defined Function) 的時候,會拖慢整體的速度,讓使用 GPU 的效果沒有發揮出來,因此本篇想要紀錄如何實作並定義一個 Hive UDF。

詳細內容

[Rapids] Support Spark SQL with Spark Rapids

Spark SQL 是很多公司提供給商業智慧 BI (Business Intelligence) 的大數據介面,🍋爸在介紹完 Spark Thrift Server 之後,使用者可以透過 Spark SQL 對自己的資料做操作,Spark SQL 的好處是可以很容易去滿足使用者的需求,但是往往容易遇到因為使用者執行複雜 Query 導致的效能低落,本篇想要透過導入 Spark Rapids 配合 Spark Thrift Server 引入 GPU 的資源看看是否能夠加速 Spark SQL 的運算效率?

詳細內容

[Hive] Index part #0 for `ROLES` already set

檸檬爸在前面幾篇介紹了有關 Hive Metastore, Hive on Spark 和 Spark Thrift Server 等等的觀念,本篇想要紀錄一個花了不少時間的除錯過程,錯誤發生的環境是在 Spark Standalone 的叢集上啟動的 Spark Thrift Server 嘗試去連接在 MySQL 上的 Hive Metastore,成功使用一段時間之後會時不時地遇到這個 Bug,後來的解決方法是重新創建 MySQL 的使用者。

詳細內容

[BigData] Apache Superset 安裝簡介

本篇想要記錄在實作安裝 Apache Superset 並且配合後端 HIVE 的資料庫進行資料呈現,一開始以為是要在 superset_config.py 內部設定SQLALCHEMY_DATABASE_URI 到指定的 Hive Server,後來了解到那是 Superset 內部 Database, Dataset 與 Charts 設定的儲存位置,本篇參考 Apache Superset 的網站實作安裝 Superset,希望對讀者有所幫助。

詳細內容

[Hive] Hive Server with Spark Standalone

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

詳細內容