开始使用 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 仓库

SQL 仓库界面

Databricks 概念

SQL 仓库

SQL 仓库配置项

  1. 集群名称
  2. 集群大小(S、M、L 等)
  3. 伸缩行为

SQL 仓库界面 - 集群大小

Databricks 概念

SQL 仓库

SQL 仓库配置项

  1. 集群名称
  2. 集群大小(S、M、L 等)
  3. 伸缩行为
  4. 集群类型

SQL 仓库界面 - 集群类型

Databricks 概念

SQL 仓库类型

不同类型各有优势

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

  • 创建表或视图
  • ETL 中的 Transform(转换)
CREATE TABLE events
  USING DELTA
  AS (
      SELECT *
    FROM raw_events
    WHERE ...
  )
Databricks 概念

让我们来练习!

Databricks 概念

Preparing Video For Download...