2013-06-26 16 views
5

Amazon RedshiftをSQL Server Data Tools 2012のソースまたは宛先ODBCコンポーネントとして使用して成功した人はいますか?SSIS/SSDTによる赤方偏移

Amazonで提供されているPostgreSQLドライバをインストールし、Windows ODBCドライバ管理者の接続を正常にテストしましたが、保存されたDSNを選択してテーブルリストを取得しようとすると、

答えて

3

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はまだ「ノード」としてサポートされていません。

0

私は成功しました。 PostgreSQL ODBCドライバの32ビット版と64ビット版の両方をインストールしてみてください。

また、プロジェクトプロパティの[設定プロパティ]> [デバッグ]で、[Run64BitRuntime]をFalseに設定します。

接続マネージャで接続文字列を指定することもできます。例: ドライバ= {PostgreSQL ANSI}; server = redshiftdb.d113klxjd4ac.us-west-2.redshift.amazonaws.com; uid =;データベース=;ポート= 5432

関連する問題