開始使用 Databricks SQL

Databricks 概念

Kevin Barlow

Data Practitioner

SQL 運算 vs. 一般運算

為資料科學或資料工程工作負載設計運算叢集…

import pyspark.sql.functions as F

spark_df = (spark
            .read
            .table('user_table'))

spark_df = (spark_df
            .withColumn('score', 
                        F.flatten(...))
           )

與為 SQL 工作負載設計運算本質上不同

SELECT *
FROM user_table u
LEFT JOIN product_use p
    ON u.userId = p.userId
WHERE country = 'USA'
AND utilization >= 0.6
Databricks 概念

SQL Warehouse

SQL Warehouse 介面

Databricks 概念

SQL Warehouse

SQL Warehouse 設定選項

  1. 叢集名稱
  2. 叢集大小(S、M、L 等)
  3. 擴縮行為

SQL Warehouse 介面 - 叢集大小

Databricks 概念

SQL Warehouse

SQL Warehouse 設定選項

  1. 叢集名稱
  2. 叢集大小(S、M、L 等)
  3. 擴縮行為
  4. 叢集類型

SQL Warehouse 介面 - 叢集類型

Databricks 概念

SQL Warehouse 類型

不同類型各有優勢。

Classic

  • 最基本的 SQL 運算
  • 佈署於客戶雲端

Pro

  • 功能比 Classic 更進階
  • 佈署於客戶雲端

Serverless

  • 前沿功能
  • 佈署於 Databricks 雲端
  • 成本效能最佳
Databricks 概念

SQL 編輯器

SQL 編輯器

Databricks 概念

常用 SQL 指令

COPY INTO

  • 擷取原始資料並匯入 Delta
  • ETL 的 Extract 階段
COPY INTO my_table
FROM '/path/to/files'
FILEFORMAT = <format>
FORMAT_OPTIONS ('mergeSchema' = 'true')
COPY_OPTIONS ('mergeSchema' = 'true');

CREATE <entity> AS

  • 建立 Table 或 View
  • ETL 的 Transform 階段
CREATE TABLE events
  USING DELTA
  AS (
      SELECT *
    FROM raw_events
    WHERE ...
  )
Databricks 概念

一起來練習吧!

Databricks 概念

Preparing Video For Download...