使用 SQL Runner 创建查询和探索

SQL Runner 提供了一种直接访问数据库的方法,并可通过多种方式利用这种访问权限。借助 SQL Runner,您可以轻松浏览架构中的表、使用 SQL 查询中的临时探索、对数据运行预先编写的描述性查询、查看 SQL Runner 历史记录、下载结果、共享查询、将其添加为派生表到 LookML 项目,以及执行其他实用任务。

本页介绍了如何在 SQL Runner 中运行查询创建临时探索,以及如何使用 SQL Runner 调试查询。如需了解以下内容,请参阅其他文档页面:

在 SQL Runner 中运行查询

如需对数据库运行查询,您可以从头编写 SQL 查询使用“探索”创建查询,或对 LookML 模型运行查询。您还可以使用历史记录重新运行之前的查询。

从头开始编写 SQL 查询

您可以使用 SQL Runner 编写和运行针对数据库的 SQL 查询。Looker 会将您编写的查询原样传递给数据库,因此请确保 SQL 查询的语法适用于您的数据库方言。例如,每个方言都有略有不同的 SQL 函数,并且都具有应传递给函数的特定参数。

  1. Query 栏下方的文本框中输入 SQL 查询。
  2. (可选)从字段列表中选择一个表名称或字段,将其添加到光标位置的查询中。
  3. 选择运行以对数据库运行查询。
  4. 结果区域中查看结果。SQL Runner 最多会加载 5,000 行查询结果集。对于支持流式传输的 SQL 方言,您可以下载结果以查看整个结果集。

某些 SQL 程序允许您连续运行多个查询。不过,您一次只能在 SQL Runner 中运行一个查询。SQL Runner 对查询的字符数也有限制,包括空格,不得超过 65,535 个字符。

运行查询后,您可以将查询添加到项目获取派生表的 LookML,或共享查询

您还可以使用 SQL Runner 试用新查询或测试现有查询。SQL Runner 错误突出显示功能有助于测试和调试查询。

使用“探索”创建 SQL 查询

您还可以使用“探索”创建查询,然后获取该查询的 SQL 命令,以便在 SQL Runner 中使用:

  1. 在“探索”中,从“数据”栏中选择 SQL 标签页。
  2. SQL 查询将显示在 Data 栏下方。
  3. 选择在 SQL Runner 中打开在 SQL Runner 中说明,以在 SQL Runner 中打开查询。

将查询添加到查询栏下方的文本框后,您可以选择运行以查询数据库。或者,您也可以修改查询,然后运行新查询。

使用 SQL Runner 创建可视化图表

如果您的 Looker 管理员启用了 SQL Runner 可视化实验室功能,您可以直接在 SQL Runner 中创建可视化图表。

启用 SQL Runner Vis 后,SQL Runner 面板会重新整理。可视化面板位于顶部,结果面板位于中间,查询面板位于底部。

  1. 创建并运行 SQL 查询后,您可以打开可视化标签页查看可视化结果并选择可视化图表类型,就像在“探索”页面上一样
  2. 您可以使用设置菜单修改可视化图表。
  3. 您可以通过共享网址来共享使用 SQL Runner 创建的可视化图表。您使用可视化图表的设置菜单进行的所有自定义设置都会保存,并且关联不会更改。

关于 SQL Runner 可视化结果的运作方式,请注意以下几点:

  • 结果表格和可视化结果会将任何数字字段解读为测量值。
  • 结果表格和可视化图表中始终使用完整字段名称。因此,设置菜单中的显示完整字段名称选项处于停用状态。
  • 如需使用自定义字段、表计算、数据透视表、列总和和子总和,请从 SQL Runner 查询中进行探索
  • SQL Runner 可视化图表不支持静态地图(区域)可视化图表,但支持使用经纬度数据的地图(地图和静态地图 [点] 可视化图表)。
  • SQL Runner 可视化不支持时间轴可视化。

对维度进行透视

您可以在 SQL Runner 可视化图表中修改查询结果,以按一个或多个维度转换。如需对某个字段进行数据透视,请执行以下操作:

  1. 结果区域中选择某个列的齿轮菜单,以显示列选项。
  2. 选择数据透视列

汇总结果会显示在 SQL Runner 可视化结果中。

结果区域中的结果未显示为经过汇总。

如需取消转换结果,请选择已转换的列的齿轮菜单,然后选择取消转换列

更改字段类型

在显示查询的结果和可视化图表时,SQL Runner 会自动将所有数字字段解释为测量值,将所有非数字字段解释为维度。您可以替换默认字段类型,并将维度转换为测量值,反之亦然,具体步骤如下:

  1. 结果区域中选择某个列的齿轮菜单,以显示列选项。
  2. 选择转换为维度转换为测量可更改字段类型。

可视化图表将显示新字段类型。

对 LookML 模型运行查询

您可以使用 SQL Runner 针对 LookML 模型编写和运行 SQL 查询,而不是直接针对数据库编写和运行 SQL 查询。构建针对模型的查询时,您可以使用 LookML 替换运算符,例如 ${view_name.field_name}${view_name.SQL_TABLE_NAME}。例如,在构建查询以排查派生表问题时,这可以节省时间。

Looker 会解析所有 LookML 替换项,然后将查询传递给数据库,因此查询应采用适用于数据库方言的有效 SQL 语法。例如,每个方言都有略有不同的 SQL 函数,并且都具有应传递给函数的特定参数。

如需在 SQL Runner 中针对 LookML 模型运行查询,请执行以下操作:

  1. 选择模型标签页。
  2. 选择要查询的模型。
  3. Data 栏下方的文本框中,使用 LookML 字段输入 SQL 查询。
  4. (可选)在视图列表中选择一个视图,以便在光标位置将该视图添加到查询中。
  5. 如需查看视图中的字段列表,请在视图部分中选择相应视图。(可选)您可以在字段列表中选择一个字段,将其添加到光标所在位置的查询中。
  6. 准备好的 SQL 查询区域中,您可以查看在所有 LookML 替换项都转换为 SQL 后构建的最终 SQL 查询。
  7. 选择运行以针对您的模型运行查询。
  8. 结果区域中查看结果。SQL Runner 最多可加载 5,000 行查询结果集。对于支持流式传输的 SQL 方言,您可以下载结果以查看整个结果集。

您可以使用 SQL Runner 试用新查询、测试现有查询,或通过结果打开新的探索。SQL Runner 错误突出显示功能有助于测试和调试查询。

找到合适的查询后,您可以共享查询,甚至将查询添加到 LookML 项目

通过 SQL Runner 查看字段的 LookML

您还可以在模型标签页的字段列表中查看字段的 LookML。将鼠标悬停在字段列表中的字段上,然后选择字段名称右侧的 Looker 图标。

Looker 会打开 LookML IDE,并加载定义该字段的文件。

SQL Runner 历史记录

您还可以查看您在 SQL Runner 中运行的所有查询的近期历史记录。

如需查看历史记录,请选择导航窗格顶部的历史记录标签页。SQL Runner 会显示在数据库连接上运行的所有查询。红色表示由于发生错误而未运行的查询。

在历史记录中选择一个查询,将该查询填充到 SQL Runner 中,然后选择运行以重新运行该查询。

对查询进行排序

表格的排序顺序由排序字段名称旁边的上箭头或下箭头表示,具体取决于结果是按升序还是降序排列。如需按多个列排序,请按住 Shift 键,然后按照所需排序顺序选择列标题。字段的排序顺序还通过以下方式进行指示:与其他字段相比,字段的排序依据顺序用数字表示;字段名称旁边的箭头表示排序方向(升序或降序);当您将鼠标悬停在字段名称上时,系统会显示一个弹出式窗口。

如需了解详情和示例,请参阅在 Looker 中探索数据文档页面的对数据进行排序部分。

共享查询

您可以与其他拥有 SQL Runner 访问权限的用户共享 SQL Runner 中的查询。如需分享查询,请复制浏览器地址栏中的网址。

下载结果

运行 SQL 查询后,您可以以多种格式下载结果。

  1. SQL 查询框中编写查询。(您目前无需在 SQL Runner 中运行该查询。)
  2. 从右上角的齿轮菜单中选择下载
  3. 选择下载内容的文件格式(文本文件、CSV、JSON 等)。
  4. 选择在浏览器中打开可在新浏览器窗口中查看结果,或选择下载将结果下载到计算机上的文件。

    当您选择在浏览器中打开下载时,Looker 会重新运行查询,然后执行下载。

对于支持流式传输的 SQL 方言,SQL Runner 的下载选项将下载整个结果集。对于不支持流式传输的 SQL 方言,SQL Runner 的下载选项只会下载结果部分中显示的查询行(最多 5,000 行)。

复制列值

您可以从 SQL Runner 的结果部分复制列值。选择列的齿轮菜单,将值复制到剪贴板。然后,您可以将列值粘贴到文本文件、Excel 电子表格或其他位置。

如果您的 Looker 管理员启用了 SQL Runner Vis Labs 功能,您还可以在列齿轮菜单中看到其他选项:

您还可以手动移动、固定调整大小结果表中的列。

SQL Runner 查询的费用估算

对于 BigQueryMySQLAmazon RDS for MySQLSnowflakeAmazon RedshiftAmazon AuroraPostgreSQL、Cloud SQL for PostgreSQL 和 Microsoft Azure PostgreSQL 连接,SQL Runner 会提供查询费用的估算值。输入 SQL 查询后,SQL Runner 会计算查询所需的数据量,并在 Run 按钮附近显示相关信息。

对于 BigQuery、MySQL 和 Amazon RDS for MySQL 连接,系统始终会启用费用估算功能。对于 Snowflake、Amazon Redshift、Amazon Aurora、PostgreSQL、Cloud SQL for PostgreSQL 和 Microsoft Azure PostgreSQL 数据库连接,您必须为连接启用费用估算选项。您可以在创建关联时启用费用估算。对于现有连接,您可以在 Looker 管理面板的数据库部分中,通过连接页面修改连接

创建临时探索

在 SQL Runner 中,您可以针对 SQL 查询或数据库表创建临时探索,从而快速深入了解数据。您可以使用 Looker 探索来选择字段、添加过滤条件、直观呈现结果以及创建 SQL 查询。

您可以通过以下两种方式从 SQL Runner 打开临时探索:

  • 探索 SQL Runner 的查询结果
  • 从 SQL Runner 的“表”列表中探索

探索 SQL Runner 查询结果

借助 SQL Runner,您可以通过 SQL 查询打开探索。这会根据在 SQL Runner 中编写的查询创建一个临时探索。这样,您就可以测试查询返回的内容,以及直观地查看结果。这适用于任何查询,但对于您计划用于派生表的查询,尤其有用。

如果您的 Looker 管理员启用了 SQL Runner 可视化实验室功能,您可以直接在 SQL Runner 中创建可视化图表

  1. 使用 SQL Runner 创建要使用的 SQL 查询。
  2. 从右上角的齿轮菜单中选择探索。您将进入一个新的“探索”界面,在其中可以探索 SQL 查询,就像它是模型中保存的表一样。
  3. 您可以复制此探索的网址进行分享。
  4. 如需直接在此处将此查询添加为项目中的派生表,请选择将视图添加到项目

在 SQL Runner 中探索时创建自定义字段

如果您有权使用自定义字段功能,则可以使用自定义字段在 SQL Runner 中直观呈现未建模的字段。如上一部分所述,从齿轮菜单中选择探索。然后,在字段选择器中,按以下步骤操作:

探索 SQL Runner 中列出的表

使用数据库标签页中的探索表选项,为关联中的任何表创建临时探索。这样,您就可以在对表格进行建模之前使用 Looker 来探索表格,就像使用 LookML 视图一样。

打开表格的“探索”后,您可以决定是否将该表格添加到项目中。您还可以使用“探索”的 SQL 标签页查看 Looker 发送到数据库的 SQL 查询,然后使用 Open in SQL Runner 按钮将查询重新带入 SQL Runner。

  1. 选择数据库标签页。
  2. 在 SQL Runner 中,选择表格的齿轮图标,然后选择探索表
  3. Looker 会生成一个包含表格视图的临时模型,然后显示“探索”。
  4. Looker 会为表中的每一列提供一个维度字段。(这与 Looker 在项目开始时生成模型的方式相同。)
  5. Looker 会自动为所有日期字段添加时间范围。
  6. Looker 还包含计数衡量标准。

使用探索表格选项时,不会与“探索”相关联任何 LookML 文件,它只是表格的临时视图。

使用 SQL Runner 进行调试

SQL Runner 也是检查查询中 SQL 错误的实用工具。

SQL Runner 错误突出显示

SQL Runner 会突出显示 SQL 命令中的错误位置,并在错误消息中包含错误的位置:

所提供的位置信息会因数据库方言而异。例如,MySQL 会提供包含错误的行号,而 Redshift 会提供错误的字符位置。其他数据库方言可能具有这些行为之一或其他行为。

SQL Runner 还会突出显示 SQL 命令中第一个语法错误的位置,方法是用红色下划线标记该错误,并用 x 标记相应行。将鼠标指针悬停在 x 上,即可查看有关该错误的更多信息。解决该问题后,选择运行,看看查询中是否还有其他错误。

使用 SQL Runner 检查探索中的错误

如果您在探索中遇到 SQL 语法错误,可以使用 SQL Runner 确定错误的位置和类型,例如拼写错误或缺少命令。

  1. 在“探索”界面中,选择“数据”栏的 SQL 标签页
  2. 选择在 SQL Runner 中打开,以在 SQL Runner 中打开查询。

这会将“探索”生成的 SQL 复制到 SQL Runner。如SQL Runner 错误突出显示部分所示,SQL Runner 会突出显示 SQL 命令中的错误位置,并在错误消息中包含错误位置。然后,您可以在 SQL Runner 中进行更改并重新运行查询,直到错误得到更正。

使用 SQL Runner 检查派生表中的错误

如需了解如何使用 SQL Runner 检查派生表中的 SQL 错误,请参阅 Using SQL Runner to test derived tables(使用 SQL Runner 测试派生表)这篇 Looker 社区帖子。