Amazon Redshift
入门指南 (API 版本 2012-12-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

步骤 5:连接到示例集群和运行查询

要查询 Amazon Redshift 集群托管的数据库,您有两种选择:

  • 连接到您的集群,并使用查询编辑器在 AWS 管理控制台上运行查询。

    如果您使用查询编辑器,则无需下载和设置 SQL 客户端应用程序。

  • 通过 SQL 客户端工具(如 SQL Workbench/j)连接到集群。

使用查询编辑器查询数据库

使用查询编辑器是在 Amazon Redshift 集群托管的数据库上运行查询的最简单方法。创建集群后,可以使用 Amazon Redshift 控制台上的查询编辑器立即运行查询。

以下集群节点类型支持查询编辑器:

  • DC1.8xlarge

  • DC2.large

  • DC2.8xlarge

  • DS2.8xlarge

使用查询编辑器可以执行以下操作:

  • 运行单个 SQL 语句查询。

  • 将大小为 100 MB 的结果集下载到一个逗号分隔值 (CSV) 文件。

  • 保存查询以供重用。您无法在 欧洲 (巴黎) 区域 或 亚太区域 (大阪当地) 中保存查询。

  • 查看用户定义表的查询执行详细信息。

查询编辑器注意事项

使用查询编辑器时,请注意以下注意事项:

  • 最多 50 个用户可以同时使用查询编辑器连接到一个集群。

  • 最多 500 个用户可以同时连接到一个集群。此总数包括通过查询编辑器连接的用户。

  • 最多可以有 50 个工作负载管理 (WLM) 查询槽同时处于活动状态。有关查询槽的更多信息,请参阅实施工作负载管理

  • 查询编辑器仅运行可在两分钟内完成的短查询。

  • 查询结果集分页为每页 100 行。

  • 不能将查询编辑器与增强型 VPC 路由结合使用。

  • 不能在查询编辑器中使用事务处理。有关事务处理的更多信息,请参阅 Amazon Redshift Database Developer Guide 中的 BEGIN

启用对查询编辑器的访问权限

要访问查询编辑器,您需要相应权限。要启用访问权限,请将 AWS Identity and Access Management (IAM) 的 AmazonRedshiftQueryEditorAmazonRedshiftReadOnlyAccess 策略附加到用于访问集群的 AWS 账户。

如果您已创建 IAM 用户来访问 Amazon Redshift,则可以将 AmazonRedshiftQueryEditorAmazonRedshiftReadOnlyAccess 策略附加到该用户。如果您尚未创建 IAM 用户,则可以创建一个,然后将策略附加到 IAM 用户。

附加查询编辑器所需的 IAM 策略

  1. 登录 AWS 管理控制台 并通过以下网址打开 IAM 控制台 https://console.amazonaws.cn/iam/

  2. 选择用户

  3. 选择需要访问查询编辑器的用户。

  4. 选择 Add permissions (添加权限)

  5. 选择直接附加现有策略

  6. 对于策略名称,选择 AmazonRedshiftQueryEditorAmazonRedshiftReadOnlyAccess

  7. 选择 Next: Review

  8. 选择 Add permissions (添加权限)

使用查询编辑器

在以下示例中,您使用查询编辑器执行以下任务:

  • 运行 SQL 命令。

  • 查看查询执行详细信息。

  • 保存查询。

  • 下载查询结果集。

使用查询编辑器

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon Redshift 控制台:https://console.amazonaws.cn/redshift/

  2. 在导航窗格中,选择查询编辑器

  3. 对于架构,选择公有以基于该架构创建新表。

  4. 在查询编辑器中输入以下内容,然后选择运行查询以创建新表。

    create table shoes( shoetype varchar (10), color varchar(10));
  5. 选择清除

  6. 在查询编辑器中输入以下命令,然后选择运行查询以向表中添加行。

    insert into shoes values ('loafers', 'brown'), ('sandals', 'black');
  7. 选择清除

  8. 在查询编辑器中输入以下命令,然后选择运行查询以查询新表。

    select * from shoes;

    您应该看到以下结果。

使用 SQL 客户端查询数据库

现在,您将使用 SQL 客户端工具连接到您的集群,并运行一个简单的查询来测试连接情况。您可以使用大多数与 PostgreSQL 兼容的 SQL 客户端工具。在本教程中,您将使用在先决条件部分安装的 SQL Workbench/J 客户端。通过执行下列步骤完成此部分:

完成此步骤后,您可以确定是要从步骤 6:从 Amazon S3 中加载示例数据的 Amazon S3 中加载示例数据,还是在我从这里可以了解哪些内容?中详细了解 Amazon Redshift 并重置环境。

安装 SQL 客户端驱动程序和工具

您可以将大多数 SQL 客户端工具与 Amazon Redshift JDBC 或 ODBC 驱动程序结合使用,以连接到 Amazon Redshift 集群。在本教程中,我们将向您介绍如何使用 SQL Workbench/J 进行连接。SQL Workbench/J 是一款独立于 DBMS 的跨平台免费 SQL 查询工具。如果您打算使用 SQL Workbench/J 完成本教程,请按照以下步骤开始设置 Amazon Redshift JDBC 驱动程序和 SQL Workbench/J。有关安装 SQL Workbench/J 的更完整的说明,请转到 Amazon Redshift Cluster Management Guide 中的设置 SQL Workbench/J 客户端。如果您将 Amazon EC2 实例用作客户端计算机,则需要在该实例上安装 SQL Workbench/J 以及所需的驱动程序。

注意

您必须自行安装希望用于集群的任何第三方数据库工具;Amazon Redshift 不提供或安装任何第三方工具或库。

在客户端计算机上安装 SQL Workbench/J

  1. 查看 SQL Workbench/J 软件许可

  2. 转到 SQL Workbench/J 网站,针对您的操作系统下载相应的程序包。

  3. 转到安装并启动 SQL Workbench/J 页面,安装 SQL Workbench/J。

    重要

    请注意 SQL Workbench/J 的 Java 运行时版本先决条件,并确保您使用的是该版本;否则,该客户端应用程序将无法运行。

  4. 转到配置 JDBC 连接,下载 Amazon Redshift JDBC 驱动程序以启用 SQL Workbench/J,从而连接到您的集群。

有关使用 Amazon Redshift JDBC 或 ODBC 驱动程序的更多信息,请参阅在 Amazon Redshift 中配置连接

获取连接字符串

  1. 在 Amazon Redshift 控制台的导航窗格中,选择 Clusters (集群)

  2. 选择 examplecluster 将其打开,确保您位于 Configuration 选项卡上。

  3. Configuration 选项卡上,在 Cluster Database Properties 下方,复制该集群的 JDBC URL。

    注意

    在创建了集群且相应集群处于“available”状态之后,集群的终端接入 URL 才可用。

从 SQL Workbench/J 连接到集群

该步骤假定您在步骤 1:设置先决条件中安装了 SQL Workbench/J。

  1. 打开 SQL Workbench/J。

  2. 选择 File,然后选择 Connect window

  3. 选择 Create a new connection profile

  4. New profile 文本框中,键入配置文件的名称。

  5. 选择 Manage Drivers。系统随即打开 Manage Drivers 对话框。

  6. 选择 Create a new entry 按钮。在 Name 文本框中,键入驱动程序的名称。

    选择 Library 框旁边的文件夹图标,导航至驱动程序所在的位置,将其选中,然后选择 Open

    如果系统显示 Please select one driver 对话框,请选择 com.amazon.redshift.jdbc4.Drivercom.amazon.redshift.jdbc41.Driver,然后选择 OK。SQL Workbench/J 会自动填写 Classname 框。将 Sample URL 框留空,然后选择 OK

  7. Driver 框中,选择您刚刚添加的驱动程序。

  8. URL 中,从 Amazon Redshift console 中复制 JDBC URL 并将其粘贴到此处。

  9. Username 中,键入 masteruser

  10. Password 中,键入与主用户账户关联的密码。

  11. 选择 Autocommit 框。

  12. 选择 Save profile list 图标,如下所示:

  13. 选择 OK

  14. 在查询窗口中输入以下命令,然后选择 SQL执行当前语句以向表中添加行。

    create table shoes( shoetype varchar (10), color varchar(10));
  15. 运行以下命令以向表中添加行。

    insert into shoes values ('loafers', 'brown'), ('sandals', 'black');
  16. 运行以下命令以查询新表。

    select * from shoes;