Redshift 连接器

Redshift 连接器允许查询和创建外部 Amazon Redshift 集群中的表。这可用于连接不同系统(如 Redshift 和 Hive)或两个不同 Redshift 集群之间的數據。

配置

要配置 Redshift 连接器,请在 etc/catalog 中创建一个目录属性文件,例如,命名为 redshift.properties,将 Redshift 连接器作为 redshift 目录挂载。使用以下内容创建文件,根据您的设置替换连接属性

connector.name=redshift
connection-url=jdbc:postgresql://example.net:5439/database
connection-user=root
connection-password=secret

多个 Redshift 数据库或集群

Redshift 连接器只能访问 Redshift 集群中的单个数据库。因此,如果您有多个 Redshift 数据库,或者想要连接到多个 Redshift 集群,您必须配置 Redshift 连接器的多个实例。

要添加另一个目录,只需在 etc/catalog 中添加另一个属性文件,并使用不同的名称(确保它以 .properties 结尾)。例如,如果您将属性文件命名为 sales.properties,Presto 将使用配置的连接器创建一个名为 sales 的目录。

通用配置属性

属性名称

描述

默认值

user-credential-name

其值为 JDBC 驱动程序用户名extraCredentials 属性的名称。请参见参数引用 中的 extraCredentials

password-credential-name

其值为 JDBC 驱动程序用户密码extraCredentials 属性的名称。请参见参数引用 中的 extraCredentials

case-insensitive-name-matching

不区分大小写匹配数据集和表名。

false

case-insensitive-name-matching.cache-ttl

远程数据集和表名将被缓存的持续时间。设置为 0ms 可禁用缓存。

1m

查询 Redshift

Redshift 连接器为每个 Redshift 架构提供了一个架构。您可以通过运行 SHOW SCHEMAS 查看可用的 Redshift 架构

SHOW SCHEMAS FROM redshift;

如果您有一个名为 web 的 Redshift 架构,您可以通过运行 SHOW TABLES 查看此架构中的表

SHOW TABLES FROM redshift.web;

您可以使用以下任一方法查看 web 数据库中 clicks 表中的列列表

DESCRIBE redshift.web.clicks;
SHOW COLUMNS FROM redshift.web.clicks;

最后,您可以访问 web 架构中的 clicks

SELECT * FROM redshift.web.clicks;

如果您为目录属性文件使用了不同的名称,请在上述示例中使用该目录名称代替 redshift

Redshift 连接器限制

以下 SQL 语句尚不支持