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

查询数据共享

在 Amazon Redshift 中访问共享数据

您可以使用标准 SQL 接口、JDBC 或 ODBC 驱动程序以及数据 API 来发现共享数据。您还可以通过熟悉的业务情报 (BI) 和分析工具查询具有高性能的数据。您可以通过引用其他 Amazon Redshift 数据库中的对象来执行查询,这些数据库既是您有权访问的集群的本地对象,也可以从您的集群中远程访问。

您可以简单地通过与集群中的本地数据库保持连接来完成此操作。然后您可以从数据共享创建使用者数据库以使用共享数据。

完成此操作之后,您可以执行连接数据集的跨数据库查询。您可以使用 3 部分表示法(consumer_database_name.schema_name.table_name)查询使用者数据库中的对象。您还可以使用指向使用者数据库中架构的外部架构链接进行查询。您可以在同一查询中查询本地数据以及从其它集群共享的数据。此类查询可以引用来自当前已连接数据库和其它未连接数据库中的对象,包括从数据共享创建的使用者数据库。

在 Amazon Redshift 中访问数据共享元数据

为了帮助集群管理员发现数据共享,Amazon Redshift 提供了一组元数据视图来列出数据共享。这些视图列出了在您的集群中创建的数据共享,以及从同一账户内的其他集群和其他账户,或其他 Amazon 区域(预览版)接收的数据共享。这些视图将显示以下信息:

  • 由集群共享和接收的数据共享

  • 数据共享中数据库对象的内容,包括基本共享元数据、对象和使用者

使用 SVV_DATASHARES 查看在集群中创建(出站)并与其他人共享(入站)的所有数据共享的列表。有关更多信息,请参阅 SVV_DATASHARES

使用 SVV_DATASHARE_CONSUMERS 查看数据使用者的列表。有关更多信息,请参阅 SVV_DATASHARE_CONSUMERS

使用 SVV_DATASHARE_OBJECTS 查看在集群中创建(出站)并与其他人共享(入站)的所有数据共享中的对象的列表。有关更多信息,请参阅 SVV_DATASHARE_OBJECTS

将 Amazon Redshift 数据共享与业务情报工具集成

要将数据共享与业务情报 (BI) 工具集成,我们建议您使用 Amazon Redshift JDBC 或 ODBC 驱动程序。

Amazon Redshift JDBC 和 ODBC 驱动程序支持驱动程序中的 GetCatalogs API 操作,以返回所有数据库的列表,包括从数据共享创建的数据库。驱动程序还支持下游操作,例如 GetSchemasGetTables 等,这些操作从 GetCatalogs 返回的所有数据库中返回数据。即使在调用中没有明确指定目录时,驱动程序也会提供此支持。有关 JDBC 或 ODBC 驱动程序的更多信息,请参阅《Amazon Redshift 管理指南》中的配置 Amazon Redshift 中的连接

您无法直接连接到通过数据共享创建的使用者数据库。连接到您的集群上的本地数据库。如果您的工具中有连接切换用户界面,则数据库列表应仅包含本地集群数据库。该列表应排除从数据共享创建的使用者数据库,以提供最佳体验。您可以使用 SVV_REDSHIFT_DATABASES 视图中的选项来筛选数据库。