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 はサポートされています)