2017-07-17 34 views
0

Amazon Firehoseを使用してオンラインデータをストリーミングし、Lambdaを使用して変換を適用し、S3からRedshiftにデータをロードします。消防ホースでのCOPYコマンドは次のとおりです。Amazon S3からRedshiftへのデータのロード - コピー方法Redshiftでのコピー時間

COPY <TABLE NAME> FROM 's3 Location' CREDENTIALS 'IAM ROLE' MANIFEST json 'auto' gzip; 

私は赤方偏移で同じを保存し、将来の参照のためにそれを使用できるように、S3は、消防ホースで作られたコピーを赤方偏移するする正確な時間を知ることに興味を持っています。コピーコマンドを実行中にどのように時間を取るのですか?

例:データパイプラインジョブがある場合、私はsysdateを取得し、それをRedshiftテーブルに挿入します。 Redshift CopyにS3でこれに似た何かを達成するにはどうすればいいですか?これに直接的な選択肢や回避策はありますか?

答えて

0

すでにAWSラムダ関数を使用してAmazon Kinesis Firehose Data Transformationを実行しているので、ラムダ関数に日付を追加する必要があります。これは、COPYコマンドでロードされているデータに流れます。

+0

返信ありがとうございます。私はストリームのデータフロー中のデータ変換とロードのさまざまな時点で以下のタイミングを知ることに興味があります。 1.キネシス・ストリームに何時に来たか - ストリームの日付と時間。 2.ラムダ関数の呼び出し時間 - ラムダの実行時間3. s3からのデータの読み込み時間。このようにして、私は正確な間隔で時間遅延を追跡し、将来の参照のために赤方偏移を維持することができます。私は1と2を行ったが、データの読み込み時間のために、私は一種の紛失している。これについてのあなたの助けに感謝します。再度、感謝します。 – keerthi

+0

データ読み込み時間については、[STL_LOAD_COMMITS](http://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_COMMITS.html)の表を参照する必要がありますが、 Firehoseの負荷。 –

+0

私はAWSサポートチームから、sysdateまたはcurrent_timeの既定の列を使用して、テーブルの作成中にfirehoseがコピーを実行するときに列が現在の時刻に更新されるようにする必要があるという返信を得ました。 – keerthi

0

私は、sysdateまたはcurrent_timeでデフォルトカラムを使用する必要があります。これは、作成するテーブルを作成する際にfirehoseがコピーを実行すると、そのカラムがコピーコマンド自体によって現在の時刻で更新されるようにします。

関連する問題