[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。

詳細內容

[租屋] Charge Récupérables 房客負擔管理費

檸檬爸最近收到了過去一年社區管委會 (Syndicat des Copropriétaires) 寄過來的管理費補繳帳單 (Répartition des Charges),與台灣不同的是法國的管理費或是物業費 (Charges) 其實是有包含熱水 (Eau Chaudes) 與暖氣的 (Chauffage),所以你的物業費會根據你的使用量來跟你計費,由於目前檸檬家有出租的關係,究竟要如何跟房客一起分擔這筆費用,其實法國政府有明文規定,房東即便沒有實際住在房子裡面,還是有需要分擔的部分,一開始檸檬爸也是搞錯狀況,所以趕緊補上這篇,算是一個紀錄。

詳細內容

[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 的使用者。

詳細內容

[租屋] 申報法國房屋使用狀況

為了進一步了解並統計法國的房屋使用情況,2023 年開始法國稅務機關在報稅網站上面提供一個線上申報的方法,具有房產的屋主開始有義務申報房屋使用狀況,其實政府這樣做的另一個目的就是作為逐步取消住房稅的配套,2023 年是每個人主要居所 100% 永久免除的第一年,這包括富裕家庭。但事實上,住房稅並沒有消失,它繼續適用於業主出租的所有第二套住房和出租,透過這個機制稅務機關也取得空置住房徵稅的信息,作為閒置房屋資源徵稅的依據,本篇想要記錄並介紹法國房屋使用申報的過程,參考 BFM 新聞

詳細內容

[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 來做資料串接,本篇想要紀錄並且比較這幾種技術的優缺點是什麼?

詳細內容