Search Results for: Hive

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

詳細內容

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

詳細內容

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

詳細內容

[Hive/HBase] 如何串接 Hive/HBase 資料庫

一般來說在視覺化資料庫的方法一般來說如果是 Hive 資料庫可以透過 DBeaver 等等類似 SQL Client 的程式來顯現,但是如果是像是 HBase 的資料庫的話基本上很難快速了解 HBase 裡面存取的檔案全貌,如果可以利用 Hive 用表格的方式呈現的話會比較好理解,本篇想要介紹如何將 HBase 利用 Hive 呈現出來!

詳細內容
apache-spark

[BigData] 客製化 Apache Spark 在 ARM64 架構上

在創建以 Spark 為基礎的應用程式的時候,基本上都會直接下載 Spark 官網打包好的程式碼,在官網上的 Spark 是以 Intel x86 架構為主的,由於 Java 並沒有架構上的差異,所以之前在 Spark K8S 並沒有遇到一樣的問題,但是在一次實務上驅動 Spark Standalone 的時候遇到以下的錯誤訊息,主要是跟 External Shuffle Service 有關,這個錯誤並不會出現在以 Spark K8S 為方式驅動的應用,但是 External Shuffle Manager 會遇到,所以筆者才會需要利用 Spark 提供的 make-distribution.sh 檔案去重新打包 Apache Spark 在 ARM64 架構上。

詳細內容
apache-spark

[BigData] 實作 Spark 將 MSSQL 檔案平行匯出

Spark 2.1.0 之後,JDBC (Java Database Connectivity) 被引入作為一個 Spark 應用的其中一種輸入,在數位轉型的過程中我們很常需要將企業中的資料倉儲匯入資料湖庫,為了省去資料轉換的功夫,最好的方法就是直接將 RDBMS 的資料直接轉進 Datalake 裡面,本篇希望紀錄在 Spark 3.3.0 環境中將 MSSQL 的巨量資料轉移到地端的資料湖庫中的過程與 TroubleShooting。

詳細內容