使用查询编辑器 v2 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用查询编辑器 v2

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

打开查询编辑器 v2

如要打开查询编辑器 v2
  1. 登录Amazon Web Services Management Console,然后通过以下网址打开 Amazon Redshift 控制台:https://console.aws.amazon.com/redshift/

  2. 在导航器菜单中,选择 Editor(编辑器),然后选择 Query editor V2(查询编辑器 V2)。此时将在新的浏览器标签页中打开查询编辑器 v2。

查询编辑器页面有一个导航器菜单,您可以在其中选择视图,如下所示:

编辑器 
                            Editor

您可以管理和查询以表形式组织并包含在数据库中的数据。数据库可以包含存储的数据,也可以包含对存储在其他位置(如 Amazon S3)的数据的引用。连接到包含在集群或无服务器工作组中的数据库。

Editor(编辑器)视图中工作时,您有以下控件:

  • Cluster(集群)或 Workgroup(工作组)字段显示您当前连接到的集群或工作组的名称。Database(数据库)字段显示集群或工作组内的数据库。您在 Database(数据库)视图原定设置中执行的操作会对您选择的数据库执行操作。

  • 集群或工作组、数据库和架构的树视图层次结构视图。在架构下,您可以使用表、视图、函数和存储过程。树视图中的每个对象都支持上下文菜单来执行相关操作,例如对对象进行 Refresh(刷新)或 Drop(删除)。

  • 通过 
                                    Create Create(创建)操作来创建数据库、架构、表和函数。

  • 通过 
                                    Load Load data(加载数据)操作将数据从 Simple Storage Service(Amazon S3)加载到数据库。

  • 通过 
                                    Save Save(保存)图标来保存您的查询。

  • 通过 
                                    Shortcuts Shortcuts(快捷方式)图标来显示编辑器的键盘快捷键。

  • 可以在 
                                    Editor Editor(编辑器)区域中输入和运行查询。

    运行查询后,Result(结果)选项卡随即显示结果。您可以打开此处的 Chart(图表)来可视化您的结果。还可以 Export(导出)结果。

  • 
                                    Notebook Notebook(笔记本)区域,您可以在其中添加各部分,以输入和运行 SQL 或添加 Markdown。

    运行查询后,Result(结果)选项卡随即显示结果。您可以在此处 Export(导出)结果。

查询 
                            Queries

查询包含用于管理和查询数据库中数据的 SQL 命令。当您使用查询编辑器 v2 加载示例数据时,它还会为您创建和保存示例查询。

在选择了某个已保存的查询时,您可以使用上下文菜单(右键单击)打开、重命名和删除该查询。您可以选择查询详细信息,查看已保存查询的属性,例如 查询 ARN。您还可以查看其版本历史记录、编辑附加到查询的标签,并将其与您的团队共享。

笔记本 
                            Notebooks

SQL 笔记本包含 SQL 和 Markdown 单元格。使用笔记本可在单个文档中组织、注释及共享多个 SQL 命令。

在选择了某个已保存的笔记本时,您可以使用上下文菜单(右键单击)打开、重命名、复制和删除该笔记本。您可以选择笔记本详细信息,查看已保存笔记本的属性,例如笔记本 ARN。您还可以查看其版本历史记录、编辑附加到笔记本的标签,并将其与您的团队共享。有关更多信息,请参阅编写和运行笔记本

图表 
                            Chart

图表是您的数据的可视化表示。查询编辑器 v2 提供了用于创建多种图表并保存它们的工具。

在选择了某个已保存的图表时,您可以使用上下文菜单(右键单击)打开、重命名和删除该图表。您可以选择图表详细信息,查看已保存图表的属性,例如 图表 ARN。您也可以编辑附加到图表的标签并将其导出。有关更多信息,请参阅可视化查询结果

历史记录 
                            History

查询历史记录是您使用 Amazon Redshift 查询编辑器 v2 运行的查询的列表。这些查询作为单个查询运行,或作为 SQL 笔记本的一部分运行。有关更多信息,请参阅查看查询和选项卡历史记录

所有查询编辑器 v2 视图都有以下图标:

  • 
                    Visual mode Visual mode(可视化模式)图标,可在亮模式和暗模式之间切换。

  • 
                    Settings Settings(设置)图标,可显示不同设置屏幕的菜单。

    • 
                            Editor preferences Editor preferences(编辑器首选项)图标,可在使用查询编辑器 v2 时编辑首选项。

    • 
                            Connections Connections(连接)图标,可查看编辑器选项卡使用的连接。

      连接用于检索数据库中的数据。连接是针对特定数据库创建的。使用隔离连接时,在一个编辑器选项卡中更改数据库的 SQL 命令(例如创建临时表)的结果在另一个编辑器选项卡中不可见。在查询编辑器 v2 中打开编辑器选项卡时,原定设置为隔离连接。创建共享连接时,即关闭 Isolated session(隔离会话)开关,同一数据库的其他共享连接的结果对彼此可见。但是,使用数据库的共享连接的各编辑器选项卡不会并行运行。使用相同连接的查询必须等到连接可用。与一个数据库的连接不能与另一个数据库共享,因此 SQL 结果在不同的数据库连接之间不可见。

      账户中的任何用户可以激活的连接数由查询编辑器 v2 管理员控制。

    • 
                            Account settings Account settings(账户设置)图标,管理员用于更改账户中所有用户的某些设置。有关更多信息,请参阅更改账户设置

连接到 Amazon Redshift 数据库

要连接到数据库,请在树视图面板中选择集群或工作组名称。如果出现提示,请输入连接参数。

当您连接到集群或工作组及其数据库时,通常需要提供 Database(数据库)名称。您还提供以下身份验证方法之一所需的参数:

联合身份用户

使用此方法,您的 IAM 角色或用户的主体标签必须提供连接详细信息。您可以在 Amazon Identity and Access Management 或您的身份提供者 (IdP) 中配置这些标签。查询编辑器 v2 依赖以下标签。

  • RedshiftDbUser – 此标签定义查询编辑器 v2 使用的数据库用户。此标签为必填项。

  • RedshiftDbGroups – 此标签定义当连接到查询编辑器 v2 时加入的数据库组。此标签是可选的,其值必须是以冒号分隔的列表,例如 group1:group2:group3。空值将被忽略,也就是说,group1::::group2 被解释为 group1:group2

这些标签将转发到 redshift:GetClusterCredentials API 以获取集群的凭证。有关更多信息,请参阅设置主体标签以作为联合用户连接到查询编辑器 v2

临时凭证

仅在连接到集群时此选项才可用。使用此方法,查询编辑器 v2 会为数据库提供 User name(用户名)。查询编辑器 v2 会生成用于连接到数据库的临时密码。您的查询编辑器 v2 管理员可以通过在 Account settings(账户设置)中进行配置,选择是否向账户中的所有用户显示此方法。有关更多信息,请参阅更改账户设置

使用您的 IAM 身份的临时凭证

仅在连接到集群时此选项才可用。使用此方法,查询编辑器 v2 会将用户名映射到您的 IAM 身份并生成用于连接到数据库的临时密码。您的查询编辑器 v2 管理员可以通过在 Account settings(账户设置)中进行配置,选择是否向账户中的所有用户显示此方法。有关更多信息,请参阅更改账户设置

数据库用户名和密码

使用这种方法,还需要为要连接的数据库提供 User name(用户名)和 Password(密码)。查询编辑器 v2 代表您创建秘钥并存储在 Amazon Secrets Manager 中。此密钥包含用于连接到数据库的凭证。

Amazon Secrets Manager

仅在连接到集群时此选项才可用。使用此方法,不是提供数据库名称,而是提供在 Secrets Manager 中存储的 Secret(密钥),其中包含您的数据库和登录凭证。使用 Secrets Manager 控制台 (https://console.aws.amazon.com/secretsmanager/) Store a new secret(存储新密钥),然后选择密钥类型 Credentials for Amazon Redshift cluster(Amazon Redshift 集群的凭证)来输入集群的凭证。您还必须添加以字符串“Redshift”开头的标签键,才能在查询编辑器 v2 控制台中列出密钥。

当您选择具有查询编辑器 v2 的集群或工作组时,根据上下文,您可以使用上下文(右键单击)菜单创建、编辑和删除连接。您可以选择连接详细信息,查看连接的属性,例如连接 ARN。您还可以编辑附加到连接的标签。

浏览 Amazon Redshift 数据库

在数据库中,您可以在树视图面板中管理架构、表、视图、函数和存储过程。在视图中的每个对象都在上下文(右键单击)菜单中都有与之关联的操作。

分层树状图面板显示数据库对象。要刷新树视图面板以显示可能已在上次显示树视图后创建的数据库对象,请选择 
                        Refresh
                    图标。打开对象的上下文(右键单击)菜单,以查看您可以执行的操作。


                    Tree-view icons

选择表后,您可以执行以下操作:

  • 如要在编辑器中开启查询表中所有列的 SELECT 语句启动查询,请使用 Select table(选择表)。

  • 要查看属性或表格,请使用 Show table definition(显示表定义)。使用此选项可查看列名、列类型、编码、分配键、排序键以及列是否可以包含空值。有关语法的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》https://docs.amazonaws.cn/redshift/latest/dg/r_CREATE_TABLE_NEW.html中的 CREATE TABLE

  • 要删除表,请使用 Delete(删除)。您可以使用 Truncate table(截断表)从表中删除所有行。或使用 Drop table(删除表)从数据库中删除表。更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 TRUNCATEDROP TABLE

选择架构以 Refresh(刷新)或 Drop schema(删除架构)。

选择视图以 Show view definition(显示视图定义)或 Drop view(删除视图)。

选择函数以 Show function definition(显示函数定义)或 Drop function(删除函数)。

选择存储过程以 Show procedure definition(显示过程定义)或 Drop procedure(删除过程)。

创建数据库对象

您可以创建数据库对象,包括数据库、架构、表和用户定义的函数(UDF)。您必须连接到集群或工作组以及数据库才能创建数据库对象。

创建数据库

有关数据库的信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 CREATE DATABASE

  1. 选择 
                        CreateCreate(创建),然后选择 Database(数据库)。

  2. 输入 Database name(数据库名称)。

  3. (可选)选择 Users and groups(用户和组),然后选择 Database user(数据库用户)。

  4. 选择 Create database(创建数据库)。

    新数据库将在树状视图面板中显示。

创建架构

有关架构的信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 Schemas

  1. 选择 
                        CreateCreate(创建),然后选择 Schema(架构)。

  2. 输入 Schema name(架构名称)。

  3. 选择 Local(本地)或 External(外部)作为 Schema type(架构类型)。

    有关本地架构的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 CREATE SCHEMA。有关外部架构的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 CREATE EXTERNAL SCHEMA

  4. 如果选择 External(外部),则可以选择以下外部架构。

    • Glue Data Catalog(Glue 数据目录)– 在 Amazon Redshift 中创建引用 Amazon Glue 中的表的外部架构。除了选择 Amazon Glue 数据库,还可选择与集群关联的 IAM 角色以及与数据目录关联的 IAM 角色。

    • PostgreSQL – 在 Amazon Redshift 中创建外部架构,此架构引用 Amazon RDS for PostgreSQL 或 Amazon Aurora PostgreSQL 兼容版本的数据库。还提供数据库的连接信息。有关联合查询的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的通过联合查询来查询数据

    • MySQL – 在 Amazon Redshift 中创建外部架构,该架构引用 Amazon RDS for MySQL 和/或 Amazon Aurora MySQL 兼容版本的数据库。还提供数据库的连接信息。有关联合查询的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的通过联合查询来查询数据

  5. 选择 Create schema(创建架构)。

    新 Schema 将在树状视图面板中显示。

创建表

您可以根据您指定或定义表中每列的逗号分隔值(CSV)文件创建表。有关表的信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 Designing tablesCREATE TABLE

选择 Open query in editor(在编辑器中打开查询)在运行查询以创建表之前查看和编辑 CREATE TABLE 语句。

  1. 选择 
                        Create Create(创建),然后选择 Table(表)。

  2. 选择架构。

  3. 输入表名称。

  4. 选择 
                                Create
                            Add field(添加字段)以添加列。

  5. 使用 CSV 文件作为表定义模板:

    1. 选择 Load from CSV(从 CSV 加载)。

    2. 浏览到文件位置。

      如果您使用 CSV 文件,请确保该文件的第一行包含列标题。

    3. 选择文件,然后选择 Open(打开)。确认列名和数据类型符合您的要求。

  6. 对于每一列,选择该列并选择所需的选项:

    • Encoding(编码)选择一个值。

    • 选择 Default value(原定设置值)。

    • 如果您想增加列值,启用 Automatically increment(自动增量)。然后为 Auto increment seed(自动增加种子)和 Auto increment step(自动增量步骤)指定值。

    • 如果该列应始终包含值,启用 Not NULL(非 NULL)。

    • 输入列的 Size(大小)值。

    • 如您希望该列成为主密钥,启用 Primary key(主密钥)。

    • 如您希望该列成为唯一密钥,启用 Unique key(唯一密钥)。

  7. (可选)选择 Table details(表详细信息)然后选择以下任何选项:

    • 分配密钥列和样式。

    • 对密钥列进行排序和排序类型。

    • 启用 Backup(备份)将表包含在快照中。

    • 启用 Temporary table(临时表)将表创建为临时表。

  8. 选择 Open query in editor(在编辑器中打开查询)继续指定用于定义表的选项,或选择 Create table(创建表)来创建表。

创建函数
  1. 选择 
                        CreateCreate(创建),然后选择 Function(函数)。

  2. 对于 Type(类型),选择 SQLPython

  3. Schema(架构)选择一个值。

  4. 为函数 Name(名称)输入一个值。

  5. 为函数 Volatility(波动性)输入一个值。

  6. 按输入参数的顺序排列的数据类型选择 Parameters(参数)。

  7. Returns(返回值)选择一种数据类型。

  8. 输入函数的 SQL program(SQL 计划)代码。

  9. 选择 Create(创建)。

有关用户定义的函数(UDF)的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的创建用户定义的函数

查看查询和选项卡历史记录

您可以使用查询编辑器 v2 查看查询历史记录。仅使用查询编辑器 v2 运行的查询出现在查询历史记录中。显示已使用 Editor(编辑器)选项卡或 Notebook(笔记本)选项卡运行的查询。您可以按时间段筛选显示的列表,例如 This week,其中周定义为星期一至星期日。查询列表一次将提取符合您的筛选条件的 25 行查询。选择 Load more(加载更多)可查看下一组。选择一个查询,在 Actions(操作)菜单中,可用的操作取决于是否已保存所选的查询。您还可以选择以下操作:

  • View query details(查看查询详细信息)- 显示一个查询详细信息页面,其中包含有关已运行的查询的更多信息。

  • Open query in a new tab(在新选项卡中打开查询)- 打开一个新的编辑器选项卡,并在其中填入所选查询。如果仍处于连接状态,则会自动选择集群或工作组和数据库。要运行查询,请先确认已选择正确的集群或工作组和数据库。

  • Open source tab(打开源选项卡)- 如果仍处于打开状态,则在运行查询时导航到包含查询的编辑器或笔记本选项卡。运行查询后,编辑器或笔记本的内容可能已发生更改。

  • Open saved query(打开保存的查询)- 导航到编辑器或笔记本选项卡并打开查询。

您还可以查看 Editor(编辑器)选项卡中运行的查询的历史记录或 Notebook(笔记本)选项卡中运行的查询的历史记录。要在选项卡中查看查询历史记录,请选择 Tab history(选项卡历史记录)。在选项卡历史记录中,您可以执行以下操作:

  • Copy query(复制查询)- 将查询版本 SQL 内容复制到剪贴板。

  • Open query in a new tab(在新选项卡中打开查询)- 打开一个新的编辑器选项卡,并在其中填入所选查询。要运行查询,您必须选择集群或工作组和数据库。

  • View query details(查看查询详细信息)- 显示一个查询详细信息页面,其中包含有关已运行的查询的更多信息。

更改账户设置

拥有正确 IAM 权限的用户可以查看和更改同一 Amazon Web Services 账户中其他用户的 Account settings(账户设置)。该管理员可以查看或设置以下内容:

  • 账户中每个用户的最大并发数据库连接数。这包括用于 Isolated sessions(隔离会话)的连接。更改此值时,更改可能需要 10 分钟才能生效。

  • 选择是否 Authenticate with IAM credentials(使用 IAM 凭证进行身份验证):

    • 当您选择此选项时,将在连接窗口中向账户用户显示 Temporary credentials using your IAM identity(使用您的 IAM 身份的临时凭证),以使用其 IAM 凭证进行身份验证。

    • 取消选择此选项时,将在连接窗口中向账户用户显示 Temporary credentials(临时凭证),以使用数据库用户名和密码进行身份验证。默认情况下,取消选择此选项。

  • 允许账户中的用户将整个结果集从 SQL 命令导出到文件中。

  • 加载和显示示例数据库以及一些关联的已保存查询。

  • 指定账户用户用于从本地文件加载数据的 Amazon S3 路径。

  • 查看用于加密查询编辑器 v2 资源的 KMS 密钥 ARN。