Redshiftコネクタ

Redshiftコネクタを使用すると、外部のAmazon Redshiftクラスタでテーブルのクエリと作成を行うことができます。これは、RedshiftとHiveのような異なるシステム間、または2つの異なる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コネクタの複数のインスタンスを設定する必要があります。

別のカタログを追加するには、別の名前(`.properties`で終わることを確認)で`etc/catalog`に別のプロパティファイルを追加するだけです。たとえば、プロパティファイルに`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ステートメントはまだサポートされていません。