Amazon RedshiftをSQL Server Data Tools 2012のソースまたは宛先ODBCコンポーネントとして使用して成功した人はいますか?SSIS/SSDTによる赤方偏移
Amazonで提供されているPostgreSQLドライバをインストールし、Windows ODBCドライバ管理者の接続を正常にテストしましたが、保存されたDSNを選択してテーブルリストを取得しようとすると、
Amazon RedshiftをSQL Server Data Tools 2012のソースまたは宛先ODBCコンポーネントとして使用して成功した人はいますか?SSIS/SSDTによる赤方偏移
Amazonで提供されているPostgreSQLドライバをインストールし、Windows ODBCドライバ管理者の接続を正常にテストしましたが、保存されたDSNを選択してテーブルリストを取得しようとすると、
RedshiftはPostgres(8.0)のかなり古いバージョンに基づいています。それ以来、Postgresはかなり変更されており、Postgresツールも変更されています。 Redshiftで使用するツールをダウンロードする場合、おそらく数年前の以前のバージョンを使用する必要があります。
テーブルリストの問題は特に厄介ですが、まだというRedshiftテーブルを正しく一覧表示できるバージョンがあります。代わりに、INFORMATION_SCHEMA
テーブルを使用してこの種の情報を見つけることができます。私の意見では、これはSSIS/SSDTがデフォルトで行うべきことです。
SSISがRedshiftにデータを確実にロードすること、つまりRedshiftの宛先を作成することは期待できません。これは、Redshiftがデータをロードする手段としてを実際にに対応させていないため、INSERT INTO
です。 INSERT INTO
を使用すると、1秒あたり〜10行しか読み込めません。 Redshiftは、COPY
コマンドを使用してS3またはDynamoDBからデータをすばやく読み込むことができます。
私が試した他のETLツール、特にオープンソースツールのPentaho PDI(別名ケトル)とTalend Open Studioの場合も同様の話です。これはTalendのケースではRedshiftコンポーネントを持っているので特に厄介ですが、実際には読み込みにINSERT INTO
を使用しようとします。 AmazonのETLツールのデータパイプラインでさえ、Redshiftはまだ「ノード」としてサポートされていません。
私は成功しました。 PostgreSQL ODBCドライバの32ビット版と64ビット版の両方をインストールしてみてください。
また、プロジェクトプロパティの[設定プロパティ]> [デバッグ]で、[Run64BitRuntime]をFalseに設定します。
接続マネージャで接続文字列を指定することもできます。例: ドライバ= {PostgreSQL ANSI}; server = redshiftdb.d113klxjd4ac.us-west-2.redshift.amazonaws.com; uid =;データベース=;ポート= 5432