亚马逊AWS官方博客

使用 Amazon Redshift 查询编辑器 v2 简化数据分析

Amazon Redshift 是一种快速、完全托管的云数据仓库,除了支持通过 ODBC/JDBC 或 Redshift 数据 API 进行连接外,它还提供基于 Web 的查询编辑器。数以万计的客户使用 Amazon Redshift 作为他们的分析平台。数据分析师、数据库开发人员和数据科学家使用 SQL 来分析他们在 Amazon Redshift 数据仓库中的数据。Amazon Redshift 查询编辑器 v2 是一款基于 Web 的 SQL 客户端应用程序,您可以使用它在 Amazon Redshift 数据仓库上创作和运行查询。您可以使用图表直观显示查询结果,并通过与团队成员共享查询来进行协作。

查询编辑器 v2 提供了多种功能,例如能够浏览和探索多个数据库、外部表、视图、存储过程和用户定义的函数。它提供用于创建架构、表和用户定义函数的向导,并且简化了已保存查询的管理和协作。您还可以更快获得见解:只需单击一下即可直观显示结果。

查询编辑器 v2 基于先前查询编辑器版本且功能有所增强,例如增加了查询大小、能够创作和运行多语句查询、支持会话变量以及查询参数等。

您可以向数据分析师、数据库开发人员和数据科学家等最终用户提供查询编辑器 v2,而无需提供访问 Amazon Redshift 控制台所需的权限。

在这篇文章中,我们将介绍如何创建 Identity and Access Management (IAM) 角色,以便最终用户能够访问查询编辑器 v2、轻松连接到集群、运行 SQL 查询、在集群中加载数据、创建图表以及直接从控制台共享查询。

为您的亚马逊云科技账户配置查询编辑器 v2

作为管理员,您必须先配置查询编辑器 v2,然后才能向最终用户提供访问权限。

您可以从 Amazon Redshift 控制台访问查询编辑器 v2。

编辑器选项中选择“查询编辑器 v2”时,浏览器将打开一个带有查询编辑器 v2 界面的新选项卡。

默认情况下,Amazon 自有的密钥用于加密资源。或者,您可以使用 Amazon Key Management Service (Amazon KMS) 控制台或 Amazon KMS API 操作创建一个对称的客户托管密钥来加密查询编辑器 v2 资源,例如保存的查询和查询结果。

为最终用户提供对查询编辑器 v2 的访问权限

企业希望通过为最终用户提供基于 Web 的查询编辑器,安全普及对数据仓库中数据的访问权限。您可以使用 IAM 用户或将亚马逊云科技控制台与单点登录 (SSO) 提供商集成,以向最终用户提供访问权限。在以后的文章中,我们将记录将您的 SSO 提供程序与查询编辑器集成的所有必要步骤。

为使您的用户能够使用 IAM 访问查询编辑器 v2,作为管理员,您可以将下表中描述的任一 Amazon 托管策略附加到 IAM 用户或角色以授予权限。这些托管策略还提供对其他必需服务的访问权限。如果您要为最终用户自定义权限,则可以创建自定义托管策略。

策略 说明
AmazonRedshiftQueryEditorV2FullAccess 授予对查询编辑器 v2 操作和资源的完全访问权限。这主要面向管理员。
AmazonRedshiftQueryEditorV2NoSharing 授予在不共享资源的情况下使用查询编辑器 v2 的能力。用户无法与其团队成员共享查询。
AmazonRedshiftQueryEditorV2ReadSharing 授予在资源共享受限的情况下使用查询编辑器 v2 的能力。被授权的委托人可以读取与其团队共享的已保存查询,但无法更新它们。
AmazonRedshiftQueryEditorV2ReadWriteSharing 授予使用查询编辑器 v2 共享资源的能力。被授权的委托人可以与其团队一起读取和更新共享资源。

例如,如果您有一组用户作为 marketing_group 的一部分,并且您希望他们通过共享查询来相互协作,则可以为他们创建一个 IAM 角色并分配 AmazonRedshiftQueryEditorV2ReadSharing 策略。您也可以使用 sqlworkbench-team 将角色标记为 marketing_group。

您可以使用 IAM 控制台将 IAM 策略附加到 IAM 用户或 IAM 角色。将策略附加到角色后,您可以将该角色附加到 IAM 用户。

要将 IAM 策略附加到 IAM 角色,请完成以下步骤:

  1. 在 IAM 控制台上,选择角色
  2. 选择需要访问查询编辑器 v2 的角色。假设角色的名称为 marketing_role。
  3. 选择附加策略
  4. 对于策略名称,请根据您的要求选择我们之前描述的策略。
  5. 选择附加策略

现在,您可以为 IAM 角色添加 marketing_group 标签。

  1. 在导航窗格中,选择角色,然后选择要编辑的角色的名称。
  2. 选择标签选项卡,然后选择添加标签
  3. 添加标签密钥 sqlworkbench-team 和值 marketing_group。
  4. 选择保存更改

现在,具有 marketing_role 的最终用户就可以在资源共享受限的情况下访问查询编辑器 v2。

使用查询编辑器 v2

您可以使用查询编辑器 v2 创作和运行查询、直观显示结果以及与团队共享您的工作。通过查询编辑器 v2,您可以使用可视化向导创建数据库、架构、表和用户定义的函数 (UDF)。在树视图面板中,您可以查看每个集群的架构。对于每个架构,您可以查看其表、视图、函数 (UDF) 和存储过程。

打开查询编辑器 v2

登录控制台并导航到查询编辑器 v2 后,您会看到如以下屏幕截图所示的页面。

查询编辑器 v2 现在可为其用户提供更类似 IDE 的体验,并提供了深色和浅色主题。您可以通过选择页面左下角的月亮图标切换主题。

左侧导航窗格显示了您有权访问的集群的列表。如果您没有 Amazon Redshift 集群,请使用带示例数据的 Amazon Redshift 集群入门选项。在这篇文章中,我们使用示例数据(Tickets 数据库)作为示例。

连接到 Amazon Redshift 数据库

您可以通过选择集群并输入凭证来连接到集群。

您可以使用数据库用户名和密码或临时凭证进行连接。查询编辑器 v2 代表您创建存储在 Amazon Secrets Manager 中的密钥。此密钥包含用于连接到数据库的凭证。通过临时凭证,查询编辑器 v2 会生成用于连接到数据库的临时密码。

浏览数据库

您可以浏览所连接集群中的一个或多个数据库。在数据库中,您可以在树视图面板中管理架构、表、视图、函数和存储过程。如果您已将集群与 Amazon Glue 数据目录集成,则会看到数据目录架构和外部表。同样,如果您使用 Amazon Redshift 数据共享、Amazon Redshift Spectrum 或联合查询创建外部架构,则可以浏览外部表。

您可以对对象执行操作,方法是选择该对象(右键单击),然后从菜单选项中进行选择。

创作和运行查询

查询编辑器 v2

允许您通过选择特定数据库来运行查询。如果您有多个数据库,请确保选择正确的数据库。

您可以在编辑器中输入查询,也可以从查询列表中选择保存的查询,然后选择运行。查询编辑器提供了几个用于查询编辑器的快捷方式,您可以通过选择内容辅助选项来访问它们。

默认情况下,设置限值 100,将结果限制为 100 行。您可以关闭此选项以返回更广泛的结果集。如果禁用此选项,则可以在 SQL 语句中包含 LIMIT 选项以避免结果集过大。

在查询中使用多个 SQL 语句

查询编辑器支持多个查询、会话变量和临时表。如果您有多条 SQL 语句并运行了查询,则结果将显示在多个选项卡上。

运行长时间查询

无需等待长时间查询完成即可查看结果。即使浏览器窗口已关闭,查询也会运行。您可以在下次登录查询编辑器 v2 时查看结果。

运行参数化查询

您可以在查询中使用参数,而不是对某些值进行硬编码,如以下代码所示:

SELECT sum(qtysold) FROM   sales, date WHERE  sales.dateid = date.dateid AND    sellerId >= ${sellerid};

当您使用参数运行查询时,系统会弹出一张提示表单。

运行解释计划

您可以通过启用解释选项,在结果区域中显示查询计划来优化查询。可以选择保存,将查询保存到查询文件夹中。

导出结果

您可以将当前页面上的查询结果导出为 JSON 或 CSV 格式的文件。要以所需格式保存文件,请在结果区域中打开上下文菜单(右键单击),然后选择导出当前页面以及 JSONCSV。您还可以选择行并导出特定行的结果。

您还可以选择行并导出特定行的结果。

对结果进行可视化分析

您可以通过打开图表来显示结果的图形可视化,从而对查询结果执行可视化分析。选择跟踪,将结果显示为图表。对于类型,为图表样式选择条形图折线图等。对于方向,可以选择垂直水平。对于 X,选择要用作水平轴的表列。对于 Y,选择要用作垂直轴的表列。

选择刷新以更新图表显示。选择全屏以展开图表显示。

要创建图表,请完成以下步骤:

1. 运行查询并获取结果。

2. 打开图表

3. 从可用选项中选择一种图表样式。

4. 选择跟踪并开始可视化您的数据。

5. 选择样式以自定义外观,包括颜色、轴、图例和注释。

6. 选择注释以添加文本、形状和图像。

对于某些图表类型,您可以添加转换来筛选、分割、聚合和排序图表的基础数据。

您还可以保存、导出和浏览所创建的图表。

与团队成员协作和共享

您可以与团队中的其他人共享查询。如前所述,管理员根据与 IAM 用户或 IAM 角色关联的 IAM 策略来设置团队。例如,如果您是 marketing_group 的成员,则可以与团队成员共享查询。

保存、组织和浏览查询

在与团队共享查询之前,请先保存查询。您还可以查看和删除已保存的查询。

要保存查询,请选择保存,输入标题,然后再次选择保存

要浏览保存的查询,请从导航窗格中选择查询。您可以查看我的查询由我共享与我的团队共享类别的查询。这些查询可以作为单个查询显示,也可以在您创建的文件夹中显示。

使用文件夹组织查询

您可以通过创建文件夹并将保存的查询拖放到文件夹中来组织查询。

共享查询

您可以与团队共享查询。

  1. 在导航窗格中选择查询
  2. 打开要共享的查询的上下文菜单(右键单击)。
  3. 选择与我的团队共享

管理查询版本

您还可以查看已保存查询的历史记录并管理查询版本。每次保存 SQL 查询时,查询编辑器 v2 都会将其保存为新版本。您可以查看或存储 20 个不同版本的查询、浏览较早的查询版本、保存查询副本或还原查询。

  1. 在导航窗格中选择查询
  2. 打开要使用的查询的上下文菜单(右键单击)。
  3. 选择版本历史记录以打开查询的版本列表。
  4. 版本历史记录页面上,选择以下选项之一:
    • 还原为选定版本 — 还原为选定版本并继续使用此版本。
    • 将选定内容另存为 — 在编辑器中创建新查询。

结论

在这篇文章中,我们向您介绍了 Amazon Redshift 查询编辑器 v2,它具有一组丰富的功能,可以安全地管理和运行 SQL 语句,并且为您提供多种功能,例如浏览和浏览多个数据库、外部表、视图、存储过程和用户定义的函数。它提供用于创建架构、表和用户定义函数的向导,查询编辑器 v2简化了对已保存查询的管理和协作,并提高了单击即可分析和可视化结果的能力。