ASTERIA WarpとAWSサービスを連携し、S3の特定バケットのオブジェクト(データ)をRedshiftへロードするフローをSQLCallコンポーネントで作成しました。
Redshiftへデータロードフロー「同一フォルダー配下のファイル」
・SQLCallコンポーネントでS3バケットの同一フォルダー配下のファイルをRedshiftのitemテーブルへデータロードを行います
SQLCallコンポーネント「一番目」
・Redshiftの特定のスキーマにテーブル(item)を作成する
・ロードするデータを対応する列名、データ型等を設定する
・ロードするS3上のデータは以下画像で参照ください。

SQLCallコンポーネント「二番目」
・S3からRedshit へデータロードするには、COPYコマンドを使用する
・COPYパラメータにロード先のRedshit テーブル名を指定
・FROMパラメータにS3上の対象フォルダーのファイルパスを指定
・IAM_ROLEパラメータにIAMロールの対象ロールのARN値を指定
※ファイル形式、ヘッダーなどの設定はAWSの公式ドキュメントに参照ください。
実行結果
----------------------------------
Redshiftへデータロードフロー「ファイルを指定してロード」
・SQLCallコンポーネントでS3バケットの特定のファイルを指定し、Redshiftのmanifest_itemテーブルへデータロードを行います
SQLCallコンポーネント「一番目」
・Redshiftの特定のスキーマにテーブル(manifest_item)を作成する
・ロードするデータの対応する列名、データ型等を設定する
・ロードするS3上のデータは以下画像で参照ください。
※今回はmanifest1、manifest2,manifest3フォルダー配下にあるファイルをロードする
SQLCallコンポーネント「二番目」
・S3からRedshit へデータロードするには、COPYコマンドを使用する
・ファイルを指定し、Redshiftへロードするにはマニフェストファイル(例:item_manifest.json)を用意する必要がある
・マニフェストファイルとは、ロードするデータファイルのリストを指定する JSON 形式のファイル
・マニフェストファイルの構文は以下画像にご参照ください。
・URLに指定したファイルパスに対象ファイルがない場合エラーを発生されたいので、mandatoryにtrueを設定
・COPYコマンドの構文は以下画像にご参照ください。
・COPYパラメータにロード先のRedshit テーブル名を指定
・FROMパラメータにS3上のマニフェストファイルパスを指定
・マニフェストファイルでデータロード時にはMANIFESTを必ず指定する
実行結果