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`という名前のカタログを作成します。
一般的な設定プロパティ¶
| プロパティ名 | 説明 | デフォルト | 
|---|---|---|
| 
 | 値がJDBCドライバのユーザー名である`extraCredentials`プロパティの名前です。パラメータリファレンスの`extraCredentials`を参照してください。 | |
| 
 | 値がJDBCドライバのユーザーパスワードである`extraCredentials`プロパティの名前です。パラメータリファレンスの`extraCredentials`を参照してください。 | |
| 
 | データセットとテーブル名を大文字と小文字を区別せずに一致させます。 | 
 | 
| 
 | リモートデータセットとテーブル名をキャッシュする期間。キャッシュを無効にするには、`0ms`に設定します。 | 
 | 
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ステートメントはまだサポートされていません。
- CREATE TABLE (CREATE TABLE AS はサポートされています)