COPYコマンド実行処理

オペレーション名

COPYコマンド実行

機能概要

Amazon RedshiftにCOPYコマンドを実行します。

= 備考 =

本コンポーネントが使用するCOPYコマンド仕様については、以下のリンク先ページより参照してください。

  • 「Amazon Redshift ドキュメント-開発者ガイド(日本語)- COPY」-(http://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_COPY.html)

データモデル

本コンポーネントのデータモデルはテーブルモデル型です。

プロパティ

= 備考 =

変数の使用については、「変数」を参照してください。

基本設定

項目名

必須/省略可

変数の使用

説明

備考

名前

必須

使用不可

スクリプトキャンバス上での名前を入力します。

 

必須設定

項目名

必須/省略可

変数の使用

説明

備考

接続先

必須

使用不可

コネクションリソースを選択します。

[追加]

新規にコネクションリソースを追加します。

[一覧の編集]

> HULFT INTEGRATE > コネクションで、コネクションリソースの設定を編集することができます。

 

COPYコマンド

必須

使用可

Amazon Redshiftへ発行するCOPY文を入力します。

注意

COPYコマンドは「COPY」から始まる必要があります。

  • COPYコマンドで指定されたCREDENTIALSの次の値は「******」でマスキングされて実行ログに出力されます。

    • シークレットアクセスキー[aws_secret_access_key]

    • トークン[token]

    • 暗号化マスターキー[master_symmetric_key]

コマンドが正常終了の場合はCOMMITする

省略可

使用不可

コマンドが正常終了の場合はCOMMITするかどうかを選択します。

[チェックあり]

COMMITを行います。処理は正常終了となります。

[チェックなし]

(デフォルト)

エラーデータが存在する場合COMMITは行いません。処理は異常終了となります。

エラーデータが存在しない場合はCOMMITを行います。

  • COPYコマンドのMAXERRORオプションを指定することでエラーデータの許容値を設定可能です。

データ処理方式

項目名

必須/省略可

変数の使用

説明

備考

データ処理方式

必須

使用不可

データ処理方式を選択します。

[スクリプトの設定を使用する]

(デフォルト)

スクリプトプロパティの大容量データ処理の設定をコネクターに使用します。

[大容量データ処理を行わない]

大容量データ処理を行いません。

[大容量データ処理を行う]

大容量データ処理を行います。

 

コメント

項目名

必須/省略可

変数の使用

説明

備考

コメント

省略可

使用不可

このコネクターの簡単な説明を記述することができます。

 

スキーマ

入力スキーマ

ありません。

出力スキーマ

<?xml version="1.0"?>
<table>
  <row>
    <column>STL_LOAD_ERRORS_userid</column>
    <column>STL_LOAD_ERRORS_slice</column>
    <column>STL_LOAD_ERRORS_tbl</column>
    <column>STL_LOAD_ERRORS_starttime</column>
    <column>STL_LOAD_ERRORS_session</column>
    <column>STL_LOAD_ERRORS_query</column>
    <column>STL_LOAD_ERRORS_filename</column>
    <column>STL_LOAD_ERRORS_line_number</column>
    <column>STL_LOAD_ERRORS_colname</column>
    <column>STL_LOAD_ERRORS_type</column>
    <column>STL_LOAD_ERRORS_col_length</column>
    <column>STL_LOAD_ERRORS_position</column>
    <column>STL_LOAD_ERRORS_raw_line</column>
    <column>STL_LOAD_ERRORS_raw_field_value</column>
    <column>STL_LOAD_ERRORS_err_code</column>
    <column>STL_LOAD_ERRORS_err_reason</column>
  </row>
  <row>
    :
  </row>
</table>

列名

説明

備考

row

-

1レコード単位で1つのrowを出力します。

 

STL_LOAD_ERRORS_userid

エントリを生成したユーザのIDを出力します。

 

STL_LOAD_ERRORS_slice

エラーが発生したスライスを出力します。

 

STL_LOAD_ERRORS_tbl

テーブルIDを出力します。

 

STL_LOAD_ERRORS_starttime

UTCで表されたロードの開始時間を出力します。

 

STL_LOAD_ERRORS_session

ロードを実行するセッションのセッションIDを出力します。

 

STL_LOAD_ERRORS_query

クエリIDを出力します。

 

STL_LOAD_ERRORS_filename

ロードの入力ファイルへの完全なパスを出力します。

 

STL_LOAD_ERRORS_line_number

ロードファイル内の、エラーが発生した行の番号を出力します。

 

STL_LOAD_ERRORS_colname

エラーが発生したフィールドを出力します。

 

STL_LOAD_ERRORS_type

フィールドのデータ型を出力します。

 

STL_LOAD_ERRORS_col_length

定義されている場合、列の長さを出力します。

 

STL_LOAD_ERRORS_position

フィールド内でのエラーの位置を出力します。

 

STL_LOAD_ERRORS_raw_line

エラーを含む生のロードデータを出力します。

 

STL_LOAD_ERRORS_raw_field_value

解析エラーを引き起こす「colname」フィールドの事前解析値を出力します。

 

STL_LOAD_ERRORS_err_code

エラーコードを出力します。

 

STL_LOAD_ERRORS_err_reason

エラーの説明を出力します。

 

Mapperでのスキーマ読み込み

スキーマは自動で読み込まれます。

= 備考 =

詳細については、「スキーマ編集」を参照してください。

大容量データ処理

大容量データ処理に対応しています。

PSPでの使用について

PSPでは使用できません。

使用できるコンポーネント変数

コンポーネント変数名

説明

備考

copy_count

COPYに成功したデータ件数が格納されます。

  • デフォルト値はnullです。

copy_query_id

クエリIDが格納されます。

  • デフォルト値はnullです。

has_error_data

エラーデータの有無が格納されます。

  • デフォルト値はnullです。

  • エラーデータがある場合には「true」、ない場合には「false」が格納されます。

  • 「true」の場合、出力スキーマからデータを出力することを推奨します。

error_data_count

エラーデータの件数が格納されます。

  • デフォルト値はnullです。

command_message

COPYコマンドの結果メッセージが格納されます。

  • デフォルト値はnullです。

message_category

エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。

  • デフォルト値はnullです。

message_code

エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。

  • デフォルト値はnullです。

message_level

エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。

  • デフォルト値はnullです。

error_type

エラー発生時、発生したエラーの種類が格納されます。

  • デフォルト値はnullです。

  • エラーの種類は、以下のような形式となります。


    例:「java.io.FileNotFoundException」

error_message

エラー発生時、発生したエラーのメッセージが格納されます。

  • デフォルト値はnullです。

error_trace

エラー発生時、発生したエラーのトレース情報が格納されます。

  • デフォルト値はnullです。

エラーデータについて

COPYコマンド実行後、ロードエラーがAmazon RedshiftのSTLテーブル「STL_LOAD_ERRORS」に出力されている場合、エラーデータを出力します。

  • STLテーブル「STL_LOAD_ERRORS」の検索キーはクエリIDとなります。


    = 備考 =

    STLテーブル「STL_LOAD_ERRORS」については、以下のリンク先ページより参照してください。

    • 「Amazon Redshift ドキュメント-開発者ガイド(日本語)- STL_LOAD_ERRORS」-(http://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_STL_LOAD_ERRORS.html)

  • エラーデータを取得したあとで、エラーが発生したデータの正確な行と列の追加的な詳細情報を取得したい場合は、クエリIDをキーにSTLテーブル「STL_LOADERROR_DETAIL」をご確認ください。

    = 備考 =

    STLテーブル「STL_LOADERROR_DETAIL」については、以下のリンク先ページより参照してください。

    • 「Amazon Redshift ドキュメント-開発者ガイド(日本語)- STL_LOADERROR_DETAIL」-(http://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_STL_LOADERROR_DETAIL.html)

メッセージコード、例外メッセージ、制限事項

コネクター

メッセージコード

例外メッセージ

制限事項

Amazon Redshift コネクターのメッセージおよび制限事項

check

check

注意事項

  • COPYコマンドを実行するためにはAmazon Redshiftテーブルに対するINSERT権限が必要となります。

  • COPYコマンド実行するとクエリIDが更新されますが、このクエリIDが上限値(2147483647)を超えた場合、次回Redshiftのソフトウェアメンテナンスで失敗する可能性があります。
    この場合、クエリIDの上限値を超える前にクラスタのResize(再構築)を行うことで、クエリIDが初期化されます。