SQL Runner 提供一种直接访问数据库的方式,以多种方式利用这种访问。借助 SQL Runner,您可以轻松浏览架构中的表、使用 SQL 查询中的临时“探索”功能、对数据运行预先编写的描述性查询、查看 SQL Runner 历史记录、下载结果、共享查询、以派生表的形式向 LookML 项目执行其他实用任务。
本页面介绍了如何在 SQL Runner 中运行查询、创建临时探索以及如何使用 SQL Runner 调试查询。请参阅下列其他文档页面,了解以下信息:
在 SQL Runner 中运行查询
如需对数据库运行查询,您可以从头开始编写 SQL 查询、使用“探索”来创建查询,或针对 LookML 模型运行查询。您还可以使用历史记录重新运行上一个查询。
从头开始编写 SQL 查询
您可以使用 SQL Runner 针对数据库编写和运行自己的 SQL 查询。Looker 像您编写查询时一样将查询传递给数据库,因此请确保 SQL 查询的语法对您的数据库方言有效。例如,每种方言都有略有不同的 SQL 函数,这些函数包含应传递给该函数的特定参数。
- 在查询栏下方的文本框中输入 SQL 查询。
- (可选)从字段列表中选择表名称或字段,以将其包含在查询中光标的位置。
- 选择运行以针对数据库运行查询。
- 查看结果区域中的结果。SQL Runner 最多可加载查询结果集的 5,000 行。对于支持流式传输的 SQL 方言,您可以下载结果以查看整个结果集。
某些 SQL 程序允许您在系列中运行多个查询。但是,在 SQL Runner 中一次只能运行一个查询。SQL Runner 对查询(包括空格)的字符数限制为 65535 个字符。
运行查询后,您可以将查询添加到项目中、获取派生表的 LookML,或共享查询。
您还可以使用 SQL Runner 处理新查询或测试现有查询。SQL Runner 错误突出显示有助于测试和调试查询。
使用“探索”创建 SQL 查询
您还可以使用“探索”来创建查询,然后获取该查询的 SQL 命令,以便在 SQL Runner 中使用:
- 从“探索”的数据栏中选择 SQL 标签页。
- SQL 查询将显示在数据栏下。
- 选择 Open in SQL Runner(在 SQL Runner 中打开)或 Explain in SQL Runner(在 SQL Runner 中打开)以在 SQL Runner 中打开查询。
将查询添加到查询栏下的文本框后,您可以选择运行来查询数据库。或者,您可以修改查询,然后运行新查询。
使用 SQL Runner 创建可视化图表
如果您的 Looker 管理员启用了 SQL Runner Vis 实验室功能,您可以直接在 SQL Runner 中创建可视化。
启用 SQL Runner Vis 后,系统会重新整理 SQL Runner 面板。可视化图表面板位于顶部,结果面板位于中间,查询面板显示在底部。
- 创建并运行 SQL 查询后,您可以打开可视化图表标签页以查看可视化图表,并选择可视化图表类型,方法与在“探索”页面上执行此操作一样。
- 您可以使用设置菜单修改可视化图表。
- 您可以通过共享网址来共享使用 SQL Runner 创建的可视化图表。系统会保存您使用可视化图表的设置菜单进行的所有自定义,而且链接不会更改。
对于 SQL Runner 可视化图表的工作方式,您需要注意以下几点:
- 结果表和可视化图表会将任何数字字段解读为一种衡量标准。
- 始终在结果表和可视化图表中使用完整的字段名称。因此,设置菜单中的显示完整字段名称选项无效。
- 如需使用自定义字段、表计算、数据透视、列总计和小计,请从 SQL Runner 查询探索。
- SQL Runner 可视化不支持静态地图(区域)可视化,但支持使用纬度和经度数据(地图和静态地图(点)可视化)的地图。
- SQL Runner 可视化功能不支持时间轴可视化。
数据透视维度
您可以在 SQL Runner 可视化图表中修改查询结果,以按一个或多个维度进行数据透视。如需对字段进行数据透视,请执行以下操作:
- 在结果区域选择相应列的齿轮图标,以显示列选项。
- 选择数据透视列。
转换后的结果显示在 SQL Runner 可视化图表中。
结果区域中显示的结果不会产生数据透视。
要透视结果,请选择数据透视列的齿轮菜单,然后选择取消透视列。
更改字段类型
在显示查询结果和可视化图表时,SQL Runner 会自动将任何数字字段解读为度量,并将任何非数字字段解读为维度。您可以按照以下步骤覆盖默认字段类型,并将维度转换为计量单位,反之亦然:
- 在结果区域选择相应列的齿轮图标,以显示列选项。
- 选择转换为维度或转换为测量可更改字段类型。
可视化图表将显示新的字段类型。
针对 LookML 模型运行查询
您可以使用 SQL Runner 针对 LookML 模型(而不是直接针对数据库)编写和运行 SQL 查询。根据模型构建查询时,您可以使用 LookML 替换运算符,例如 ${view_name.field_name}
或 ${view_name.SQL_TABLE_NAME}
。这有助于在构建查询以排查派生表问题时节省时间。
Looker 会解析所有 LookML 替代项,然后将您的查询传递给数据库,因此查询应使用有效的数据库方言 SQL。例如,每种方言都有略有不同的 SQL 函数,这些函数包含应传递给该函数的特定参数。
如需在 SQL Runner 中针对 LookML 模型运行查询,请执行以下操作:
- 选择模型标签页。
- 选择要查询的模型。
- 在数据栏下的文本框中,使用 LookML 字段输入 SQL 查询。
- (可选)在视图列表中选择一个视图,以便在查询的光标位置添加该视图。
- 如需查看某个视图中的字段列表,请在 View 部分选择相应视图。您也可以选择字段列表中的字段,将其包含在查询中光标位置处。
- 在 Prepared SQL Query 区域中,您可以查看在将任何 LookML 替代项转换为 SQL 后生成的 SQL 查询。
- 选择运行以针对模型运行查询。
- 查看结果区域中的结果。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 查询后,您可以下载各种格式的结果。
- 在 SQL 查询框中编写查询。(目前,您无需在 SQL Runner 中运行查询。)
- 从右上角的齿轮图标中选择下载。
- 选择下载文件的文件格式(文本文件、CSV、JSON 等)。
选择在浏览器中打开,在新浏览器窗口中查看结果,或者选择下载将结果下载到计算机上的文件中。
当您选择在浏览器中打开或下载时,Looker 会重新运行查询,然后执行下载任务。
对于支持流式传输的 SQL 方言,SQL 运行程序下载选项会下载整个结果集。对于不支持流式传输的 SQL 方言,SQL 运行程序下载选项只会下载结果部分中显示的查询行(最多 5,000 行)。
复制列值
您可以从 SQL Runner 的结果部分中复制列值。选择列的齿轮图标,将值复制到剪贴板。然后,您可以将列值粘贴到文本文件、Excel 电子表格或其他位置。
如果您的 Looker 管理员启用了 SQL Runner Vis 实验室功能,列齿轮菜单中还有其他选项:
针对 SQL Runner 查询的费用估算
对于 BigQuery、MySQL、Amazon RDS for MySQL、Snowflake、Amazon Redshift、Amazon Aurora、PostgreSQL、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 Vis 实验室功能,您可以直接在 SQL Runner 中创建可视化。
- 使用 SQL Runner 创建您要使用的 SQL 查询。
- 从右上角的齿轮图标中选择探索。您将转到新的“探索”,您可以在其中探索 SQL 查询,就像它是模型中的已保存表一样。
- 您可以将该网址复制到此“探索”中以便分享。
- 如需在此处直接将此查询作为派生表添加到您的项目中,请选择向项目添加视图。
在 SQL Runner 中探索时创建自定义字段
如果您可以使用自定义字段功能,则可以使用自定义字段直观呈现 SQL Runner 中未建模的字段。如上一部分所述,从齿轮图标中选择探索。然后,在字段选择器中执行以下步骤:
- 选择自定义字段部分将其打开,然后选择添加,开始创建自定义维度、自定义指标或表格计算。(如果您没有自定义字段部分,则您无权创建自定义字段。)
- 选择某个指标的三点状更多菜单](/exploring-data/exploring-data#three-dot_more_menu),然后选择过滤器测量以创建基于现有测量的过滤自定义测量值。
- 选择维度的三点状更多菜单,然后选择测量类型(例如求和或计数),即可根据维度创建自定义测量值。
探索 SQL Runner 中列出的表
使用 Database(数据库)标签页中的探索表选项,为连接中的任何表创建临时探索。这样一来,您就可以在对表建模之前使用 Looker 对表进行探索,就像探索 LookML 视图一样。
打开表格的“探索”后,您可以决定是否要将表格添加到您的项目中。您还可以使用“探索”的 SQL 标签页查看 Looker 发送到数据库的 SQL 查询,然后使用在 SQL 运行程序中打开按钮将查询还原到 SQL Runner 中。
- 选择数据库标签页。
- 在 SQL Runner 中,选择表的齿轮图标,然后选择探索表。
- Looker 会生成一个包含表视图的临时模型,然后显示“探索”。
- Looker 会为表中的每一列提供维度字段。(这与 Looker 在项目开始时生成模型的方式相同)。
- Looker 会自动添加任何日期字段的时间范围。
- Looker 还包含计数指标。
使用“探索”表格选项时,没有与“探索”相关联的 LookML 文件,它只是表格的临时视图。
使用 SQL Runner 进行调试
SQL Runner 也是检查查询中的 SQL 错误的实用工具。
突出显示 SQL Runner 错误
SQL Runner 会在 SQL 命令中突出显示错误的位置,并在错误消息中包含错误的位置:
提供的位置信息会因数据库方言而异。例如,MySQL 提供包含错误的行号,而 Redshift 则提供错误的字符位置。其他数据库方言可能有上述某种行为或其他行为。
SQL Runner 还会在 SQL 命令中突出显示第一个语法错误的位置,方法是用红色下划线将其标注出来,并使用 x 标记该行。将鼠标悬停在 x 上即可查看相应错误的详细信息。解决该问题后,请选择运行,看看查询中是否还有其他错误。
使用 SQL Runner 检查“探索”中的错误
如果在“探索”中遇到 SQL 语法错误,您可以使用 SQL Runner 来确定错误的位置和错误类型,例如拼写错误或命令缺失。
- 在“探索”标签页中,选择数据栏的 SQL 标签页。
- 选择 Open in SQL Runner(在 SQL Runner 中打开)即可在 SQL Runner 中打开查询。
这会将探索生成的 SQL 复制到 SQL Runner。如上文所述,SQL Runner 会突出显示 SQL 命令中的错误位置,并包含错误在错误消息中的位置。然后,您可以在 SQL Runner 中进行更改并重新运行查询,直到纠正了错误为止。
使用 SQL Runner 检查派生表中的错误
如需了解如何使用 SQL Runner 检查派生表中的 SQL 错误,请参阅使用 SQL Runner 测试派生表的 Looker 社区帖子。