Search Results for: Spark

[LLM] Spark + Local vLLM Server

前陣子接收到 Nvidia 分享的這篇 Blog, Accelerate Deep Learning and LLM Inference with Apache Spark in the Cloud,開啟了檸檬爸在結合 Spark 與 Deep Learning/LLM 的想像,配合一些之前實作過 vLLM 的經驗,本篇紀錄利用 Spark + Local vLLM Server 達成加速批次推論的目的過程中遇到的種種坑。

詳細內容
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。

詳細內容

[GCP] Spark Hadoop Access with Requester Pays

在生醫領域有很多開放資料都是存在 Google Cloud Platform (GCP),有時候要避免大量複製檔案,我們會想要直接使用 gs:// 開頭的開放資料當作 Spark Table 的後端路徑,與 AWS 與 Azure 不同的是 GCP Dataproc 提供了一個使用者付費的方式,顧名思義就是資料的傳輸費用是由使用者去支付的,本篇紀錄如何設定 Spark Cluster 的設定檔透過 Spark SQL 的方式直接使用公開的資料,減少複製檔案與儲存帶來的成本。

詳細內容

[BigData] PySpark on Jupyter Lab

Jupyter Notebook/Lab 是一個常用的互動式介面協助各種程式碼的開發我們在上一篇『建立自己的 Jupyter Notebook 伺服器』有稍微介紹過,一般常見的使用場景是在開發 python 的程式,但是 Jupyter Server 的 Kernel 功能可以擴充更多的互動式開發環境,例如 R, PySpark, SparkR, SparklyR 等等,檸檬爸最早接觸的是將 PySpark 註冊到 Jupyter Lab 裡面,實作的程式碼是透過 AZTK 的 Repository 學習到的,後來進一步將其擴充到 R 等等的使用場景,本篇將會呈現如何部署一個有 PySpark 核心的 Jupyter Lab。

詳細內容

[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] Hive Server with Spark Standalone

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

詳細內容