2016-04-07 14 views
0

私はスタンドアロンEC2 VM上で実行されているOracleインスタンスを持っています。私は2つのことをしたいと思います。Oracle DBからAWS DynamoDBへパイプラインを構築

1)私のOracleテーブルの1つから、DynamoDBが読み取れるクラウドディレクトリにデータをコピーします。これは一度だけ行われます。

2)次に、idを共有する別の行として、そのソーステーブルの変更をDynamoDBテーブルに追加したいので、その行がどのように時間とともに変化しているかを視覚化することができます。

理想的には、SQLクエリの結果をクラウドファイルシステム(S3、HDFS?)にダンプするプログラムにパイプするのと同じくらい簡単な解決策が必要な場合は、データをDynamoDBで読み取ることができる形式に変換します。

だから私はこれらの事を必要とする:

1)輸送装置を、私は、コマンドライン上でこのような何かを入力することができるようにしたい:

sqlplus ... "SQL Query" | transport --output_path --output_type etc etc 

2)私が必要とするパスの場合クラウドファイルシステム、私はここでターンキーソリューションをしたいので、S3は明らかな選択肢のように見えます。

3)この最後の部分は、一時ディレクトリを使用して生のテキストを保持し、別のステップでそれを変換できるので、いいです。

答えて

1

「クラウドディレクトリ」または「クラウドファイルシステム」をS3としますか?私はそれがこの文脈で他の何かになる可能性はないが、あなたは非常に曖昧な用語を使用している。

新しいファイルをS3にコピーするたびにDynamoDBの挿入をトリガするのは簡単ですが、S3でデータを処理してDynamoDBに挿入するだけのS3機能があります。私はあなたがS3にデータを取得する方法についてはっきりしていない。 cronジョブを実行してOracleに定期的に問い合わせを行い、ファイルにデータをダンプしてからS3にコピーするだけなら、それはうまくいくはずです。

S3のファイルに追加できないことを知っておく必要があります。新しいデータをS3にプッシュするたびに、ファイル全体を書き込む必要があります。何らかの理由でデータをストリーミングしたい場合は、S3の代わりにKenesisを使用する方が良い選択肢かもしれません。

+0

答えをいただきありがとうございます、私は必要なものを明確にするために私のOPを編集しました。 – Dan

関連する問題