在 Databricks SQL 中可视化查询和创建仪表板

本教程使用“示例”中的纽约市出租车数据集。 其中将会介绍如何使用 Databricks SQL 中的 SQL 编辑器为多个查询中的每一个创建可视化效果,然后使用这些可视化效果创建仪表板。 其中还会介绍如何为仪表板中的每个可视化效果创建仪表板参数。

使用 SQL 编辑器连接到 Databricks SQL

  1. 单击边栏中的 New Icon“新建”,然后选择“查询”。

    此时会打开 SQL 编辑器。 如果你无权访问 Databricks SQL,请向管理员请求访问权限。

  2. 选择一个仓库。

    第一次创建查询时,可用 SQL 仓库的列表按字母顺序显示。 下次创建查询时,将选择上次使用的仓库。

  3. 选择“初学者仓库”。 有关创建 SQL 仓库的信息,请参阅配置 SQL 仓库

查询上客时间分布

  1. 在 SQL 编辑器中,将以下查询粘贴到新的查询窗口中,以按小时返回出租车上客时间分布。

    SELECT
    date_format(tpep_pickup_datetime, "HH") AS `Pickup Hour`,
    count(*) AS `Number of Rides`
    FROM
    samples.nyctaxi.trips
    GROUP BY 1
    
  2. 按 Ctrl/Cmd + Enter 或单击“运行(1000)”。 几秒钟后,查询结果会显示在结果窗格中的查询下方。

    默认为所有查询选择了“限制为 1000”,以确保查询最多返回 1000 行。 如果使用“限制为 1000”设置来保存查询,则此设置适用于该查询的所有执行(包括在仪表板内完成的执行)。 如果你想要为此查询返回所有行,可以通过单击“运行(1000)”下拉列表来取消选择“限制为 1000”。 如果你想要对行数指定不同的限制,可以在查询中添加一个使用所选值的 LIMIT 子句。

    查询结果显示在“结果”选项卡中。

  3. 单击“保存”并将查询保存为 Pickup hour

    Results of your first query nyc taxi query

创建出租车上客时间分布(按小时)的可视化效果。

  1. 在“结果”选项卡旁边,单击 +,然后单击“可视化效果”。

    这会显示可视化效果编辑器。

  2. 在“可视化效果类型”下拉列表中,确认是否已选择“条形图”。

  3. 将可视化效果名称更改为 Bar chart

  4. 确认是否为“Y 列”下拉列表指定了 Pickup Hour

  5. 确认是否为“X 列”下拉列表指定了 Number of RidesSum

    Pickup hour distribution

  6. 单击“保存” 。

    保存的图表显示在 SQL 编辑器中。

  1. 在 SQL 编辑器中单击 +,然后单击“创建新查询”。

  2. 在“新建查询”窗口中,粘贴以下查询以返回每日车费趋势。

     SELECT
      T.weekday,
      CASE
        WHEN T.weekday = 1 THEN 'Sunday'
        WHEN T.weekday = 2 THEN 'Monday'
        WHEN T.weekday = 3 THEN 'Tuesday'
        WHEN T.weekday = 4 THEN 'Wednesday'
        WHEN T.weekday = 5 THEN 'Thursday'
        WHEN T.weekday = 6 THEN 'Friday'
        WHEN T.weekday = 7 THEN 'Saturday'
        ELSE 'N/A'
      END AS day_of_week,
      T.fare_amount,
      T.trip_distance
    FROM
      (
        SELECT
          dayofweek(tpep_pickup_datetime) as weekday,
          *
        FROM
          `samples`.`nyctaxi`.`trips`
      ) T
    
  3. 单击“保存”并将查询保存为 Daily fare to distance analysis

  1. 在“结果”选项卡旁边,单击 +,然后单击“可视化效果”。

    这会显示可视化效果编辑器。

  2. 在“可视化效果类型”下拉列表中,选择“散点图”。

  3. 将可视化效果名称更改为 Fare by distance

  4. 在“常规”选项卡上,将“X 列”的值设置为 trip_distance,将“Y 列”的值设置为 fare_amount

  5. 在“分组依据”下拉列表中,将值设置为 day_of_week

  6. 在“X 轴”选项卡上,将“名称”值设置为 Trip distance (miles)

  7. 在“Y 轴”选项卡上,将“名称”值设置为 Fare Amount (USD)

  8. 单击“保存”

    保存的图表显示在 SQL 编辑器中。

    Daily fare trend

使用这些可视化效果创建仪表板

  1. 单击边栏中的New Icon“新建”,然后选择“仪表板”。

  2. 将仪表板名称设置为 NYC taxi trip analysis

  3. 单击“保存” 。

  4. 在“选择仓库”下拉列表中,选择“初学者仓库”。

  5. 在“添加”下拉列表中,单击“可视化效果”。

  6. 在“添加可视化效果小组件”窗口中,选择“每日车费与距离分析”查询。

  7. 在“选择现有可视化效果”列表中,选择“按距离收费”。

  8. 在“标题”文本框中,输入 Daily fare trends

    Add visualization widget

  9. 单击“添加到仪表板”。

    “每日车费趋势”可视化效果显示在仪表板设计图面上。

  10. 在“添加”下拉列表中将另一个小组件添加到仪表板,然后单击“可视化效果”。

  11. 在“添加可视化效果小组件”窗口中,选择“上客时间”查询。

  12. 在“选择现有可视化效果”列表中,选择“条形图”。

  13. 在“标题”文本框中,输入 Pickup hour distribution

  14. 单击“添加到仪表板”。

  15. 调整此可视化效果的大小,以匹配仪表板中第一个可视化效果的宽度。

  16. 单击“完成编辑”。

Initial dashboard

将载客地邮政编码参数添加到每个查询

  1. 在 SQL 编辑器中,打开“每日车费与距离分析”查询。

  2. 将以下 WHERE 子句添加到“每日车费与距离分析”查询,以按载客地邮政编码筛选查询。

    WHERE
      pickup_zip IN ({{ pickupzip }})
    
  3. 在“pickupzip”文本框中输入 10018,然后单击“应用更改”以使用载客地邮政编码参数执行查询。

  4. 单击“ 保存”。

  5. 打开“上客时间”查询。

  6. 将以下 WHERE 子句添加到“上客时间”查询,以按载客地邮政编码筛选查询。 请将此子句添加在 GROUP BY 子句之前。

       WHERE
         pickup_zip IN ({{ pickupzip }})
    
  7. 在“pickupzip”文本框中输入 10018,然后单击“应用更改”以使用载客地邮政编码筛选器执行查询。

  8. 单击“ 保存”。

更新仪表板以使用仪表板参数

  1. 打开“纽约市出租车行程分析”仪表板。

    每个可视化效果现在都包含一个载客地邮政编码参数。

    Widget - parameters

  2. 单击此仪表板的 kebab 菜单 Vertical Ellipsis,然后单击“编辑”。

  3. 单击 kebab 菜单 Vertical Ellipsis 以显示“每日车费趋势”可视化效果,然后单击“更改小组件设置”。

  4. 在“参数”部分,单击“值”字段中“小组件参数”对应的铅笔图标 Edit icon

    View widget parameters

  5. 在“编辑源和值”窗口中,将“源”更改为“新仪表板参数”。

    Change widget parameters to new dashboard parametes

  6. 单击“确定”,然后单击“保存”。

    此时会显示“pickupzip”仪表板参数,而“每日车费趋势”可视化效果的小组件参数不再显示。

    1. 单击“上客时间分布”可视化效果对应的 kebab 菜单 Vertical Ellipsis,然后单击“更改小组件设置”。
  7. 在“参数”部分,单击“值”字段中“小组件参数”对应的铅笔图标 Edit icon

  8. 在“编辑源和值”窗口中,将“源”更改为“现有仪表板参数”。

  9. 确认已选择“pickupzip”作为“键”值。

  10. 单击“确定”,然后单击“保存”。

    “上客时间分布”可视化效果的小组件参数不再显示。

  11. 单击“完成编辑”。

  12. 将“pickupzip”仪表板参数的值更改为 10017,然后单击“应用更改”。

    每个可视化效果中的数据现在显示邮政编码为 10017 的载客地的数据。

    Change widget parameters to new dashboard parameters