廣告

Databricks – 資料分析、工程與機器學習

  • 軟體名稱:Databricks
  • 支援語系:多國語言
  • 支援系統:Windows,Mac,iOS,Android
  • 官方網站:Databricks

這是一份為初學者設計的 Databricks 教學指南,幫助你了解如何在 Databricks 上進行資料分析、工程與機器學習。不論你是資料分析師、資料工程師或資料科學家,都可以在這裡快速上手。


🔥 Databricks 是什麼?

Databricks 是一個基於 Apache Spark 的雲端資料平台,提供:

  • ✅ 大數據處理(批次、串流)
  • ✅ SQL 資料查詢與視覺化
  • ✅ 機器學習與模型訓練
  • ✅ Python、SQL、Scala、R、Shell 多語言支援
  • ✅ 完全整合式筆記本(Notebook)

📍由 Apache Spark 創辦人團隊打造,與 Azure、AWS、Google Cloud 整合良好。


🪜 初學者教學:Databricks 快速入門(Step-by-Step)


1️⃣ 註冊與建立 Workspace

👉 前往:https://databricks.com/
註冊免費試用帳戶,選擇:

  • Databricks Community Edition(免費)
  • 或是使用雲端供應商版本(AWS、Azure、GCP)

2️⃣ 建立 Cluster(執行環境)

  1. 點左側「Compute」→ Create Cluster
  2. 輸入名稱、選擇版本(如 Spark 3.5)
  3. 啟動 Cluster(數分鐘內啟動)

✅ 所有 Notebook 執行都要掛載在某個 Cluster 上。


3️⃣ 建立 Notebook

  1. 左上角點 Workspace → Your Folder → Create → Notebook
  2. 輸入名稱,選擇語言(Python、SQL、Scala…)
  3. 指定 Cluster,點選「Attach」來連接執行環境

✍️ Notebook 實作範例

Databricks 筆記本支援混合語言,每一個 cell 可選語言:

➤ Python Cell 範例

# 建立資料框(DataFrame)
data = [("Alice", 30), ("Bob", 40)]
df = spark.createDataFrame(data, ["name", "age"])
df.show()

➤ SQL Cell 範例

%sql
SELECT * FROM demo_table WHERE age > 30

➤ 可視化資料

df.groupBy("age").count().display()

或用 %sql + 選擇可視化圖表類型(長條圖、折線圖等)


🧰 支援語言一覽

語言用途
Python(含 Pandas、PySpark)資料科學與機器學習
SQL商業分析與資料探索
ScalaSpark 原生應用
R統計建模與分析
Shell(%sh)系統指令

📂 匯入資料到 Databricks

你可以使用以下方式載入資料:

🔹 方法 1:從本地 CSV 上傳

df = spark.read.csv("/FileStore/tables/mydata.csv", header=True, inferSchema=True)
df.show()

🔹 方法 2:從 Google Drive / AWS S3 / Azure Blob 連線

設定憑證後可讀取大型資料集。


🧠 常用指令整理(PySpark)

# 顯示前幾列
df.show(5)

# 查欄位與資料類型
df.printSchema()

# 選擇欄位
df.select("name").show()

# 條件篩選
df.filter(df.age > 30).show()

# 分組聚合
df.groupBy("age").count().show()

🧪 初學練習建議

  1. 上傳一份 CSV 資料
  2. 建立 DataFrame 並檢視內容
  3. 使用 SQL 查詢資料(%sql)
  4. 建立簡單視覺化圖表(groupBy + display)
  5. 寫入資料成表格(df.write.saveAsTable(...)

🤖 使用 Databricks 做機器學習(MLflow)

Databricks 原生整合 MLflow(模型管理平台),支援:

  • 建模與訓練流程追蹤
  • 模型版本控管
  • 自動紀錄訓練參數、分數
  • 一鍵部署 API(Model Serving)
import mlflow

with mlflow.start_run():
    model = train_model()
    mlflow.sklearn.log_model(model, "model")

✅ Databricks 與其他工具比較

工具優點
Databricks巨量資料處理、原生 Spark、支援 MLflow
Jupyter Notebook本地運行簡單開發,但無大數據支援
Google Colab免費雲端運算,適合中小型模型
Tableau / Power BI資料視覺化強,但不擅長模型訓練與 Spark 處理

 

廣告

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *