マッピングのAmazon S3 V2オブジェクト
ソースとターゲットのプロパティを定義し、Amazon S3 V2接続を使用してマッピングとマッピングタスクを実行できます。接続とオブジェクトをパラメータ化することもできます。タスクプロパティでパラメータファイルを使用して、実行時に接続とオブジェクトのプロパティを上書きできます。さらに、Amazon S3 V2オブジェクトのファイル形式オプションを指定することもできます。
詳細モードで設定されたマッピングでAmazon S3 V2オブジェクトを使用できます。
マッピングでのAmazon S3 V2ソース
マッピングでは、Amazon S3からデータを読み取るソースとしてAmazon S3 V2オブジェクトを表すようにソーストランスフォーメーションを設定できます。
次の表に、ソーストランスフォーメーションで設定できるAmazon S3 V2ソースのプロパティを示します。
プロパティ | 説明 |
---|
接続名 | Amazon S3 V2ソース接続の名前。ソース接続を選択するか、[新しいパラメータ]をクリックしてソース接続の新しいパラメータを定義します。 実行時にパラメータを上書きする場合は、パラメータの作成時に[実行時にパラメータのオーバーライドを許可する]オプションを選択します。タスクを実行すると、エージェントはタスク詳細セッションプロパティで指定したファイルからパラメータを使用します。 |
ソースタイプ | ソースタイプ。次のいずれかのタイプを選択します。 - - 単一オブジェクト
- - パラメータ。マッピングタスクを設定する際に、ソースタイプを定義するには、[パラメータ]を選択します。
|
オブジェクト | ソースオブジェクトの名前。 オブジェクトを選択する場合に、複数のファイルから読み取るには.manifestファイルオブジェクトを選択することもできます。 |
パラメータ | ソースオブジェクトの既存のパラメータを選択するか、[新しいパラメータ]をクリックしてソースオブジェクトの新しいパラメータを定義します。パラメータをソースタイプとして選択する場合にのみ、パラメータプロパティが表示されます。 実行時にパラメータを上書きする場合は、パラメータの作成時に[実行時にパラメータのオーバーライドを許可する]オプションを選択します。タスクを実行すると、エージェントはタスク詳細セッションプロパティで指定したファイルからパラメータを使用します。 |
形式 | Amazon S3 V2コネクタがAmazon S3からデータを読み取るために使用するファイル形式を指定します。 次のファイル形式タイプを選択できます。 - - なし1
- - Flat
- - Avro
- - ORC
- - Parquet
- - JSON2
- - Delta1
- - 構造の検出2
デフォルトは[なし]です。形式タイプとして[なし]を選択すると、Secure AgentはAmazon S3ファイルからバイナリ形式でデータを読み取ります。 [構造の検出]形式を選択した場合、パラメータ化されたソースを使用することはできません。 [形式オプション]ダイアログボックスを開き、ファイルの形式を定義します。 詳細については、 ファイル形式オプションを参照してください。 |
インテリジェント構造モデル2 | [構造の検出]形式タイプに適用されます。サンプルファイルの中から基礎となるパターンを判断し、同じデータと構造を持つファイルのモデルを自動生成します。 モデルをトランスフォーメーションに関連付けるには、次のいずれかのオプションを選択します。 - - 選択。既存のモデルを選択します。
- - 新規。新しいモデルを作成します。モデルを作成するには、[新規を設計]を選択します。選択したサンプル入力に基づいてモデルを生成するには、インテリジェント構造検出に[サンプルファイルから自動生成]を選択します。
次のオプションのいずれかを選択して、XMLベースの階層スキーマに対してXMLソースオブジェクトを検証します。 - - ソースオブジェクトでは検証は不要です。
- - ソースオブジェクトでは階層スキーマに対する検証が必要です。XMLソースオブジェクトを既存または新規の階層スキーマに対して検証するように選択します。
マッピングタスクの作成時に、[ランタイムオプション]タブで、データ統合がスキーマの不一致を処理する方法を設定します。一致しないファイルをスキップしてタスクの実行を続行するか、一致しないファイルが見つかったときにタスクを停止するかを選択できます。 詳細については、「コンポーネント」を参照してください。 |
1詳細モードのマッピングには適用されません。 2詳細モードのマッピングにのみ適用されます。 |
次の表に、詳細ソースプロパティとその説明を示します。
プロパティ | 説明 |
---|
ソースタイプ | データの読み取り元のソースのタイプ。 次のソースタイプを選択することができます。 デフォルトは[ファイル]です。 ディレクトリソースタイプは、Deltaファイルには適用されません。 |
フォルダパス | Amazon S3ソースファイルのバケット名またはフォルダパスを上書きします。 該当する場合は、<bucket_name>/<folder_name>形式にソースファイルが含まれるフォルダ名を追加します。 バケット名を指定せずに、/<folder_name>形式でスラッシュ(/)から始まるフォルダパスを指定した場合、このフォルダパスは接続プロパティで指定したフォルダパスに付加されます。 例えば、このプロパティでフォルダパスを/<dir2>と指定し、接続プロパティでフォルダパスを<my_bucket1>/<dir1>と指定すると、このフォルダパスは、<my_bucket1>/<dir1>/<dir2>形式で接続プロパティで指定したフォルダパスに付加されます。 接続プロパティでフォルダパスを<my_bucket1>/<dir1>と指定し、このプロパティでフォルダパスを<my_bucket2>/<dir2>と指定すると、Secure Agentはこのプロパティで指定したフォルダパス<my_bucket2>/<dir2>のファイルを読み取ります。 |
ファイル名 | Amazon S3ソースファイルの名前を上書きします。 |
増分ファイルロード2 | ディレクトリを詳細モードのマッピングのソースとして使用する場合に、ファイルを増分ロードするかどうかを示します。ファイルを段階的にロードすると、マッピングタスクは、マッピングタスクが最後に実行されてから変更されたディレクトリ内のファイルのみを読み取って処理します。 詳細については、 ファイルの増分ロードを参照してください。 |
ワイルドカード文字を許可2 | ディレクトリソースタイプにワイルドカード文字を使用するかどうかを指定します。 このオプションを選択すると、フォルダパスまたはファイル名に疑問符(?)およびアスタリスク(*)というワイルドカード文字を使用できるようになります。 詳細については、 ワイルドカード文字を参照してください。 |
再帰的なディレクトリの読み取り2 | 指定されたフォルダとそのサブフォルダおよびファイルから、フラットファイル、Avroファイル、JSONファイル、ORCファイル、またはParquetファイルを再帰的に読み取るかどうかを指定します。ディレクトリソースタイプを選択する場合に適用されます。 |
Encryption Type(暗号化タイプ) | データの復号化に使用する方法。 以下のいずれかの暗号化タイプを選択できます。 - - なし
- - Informatica Encryption
デフォルトは[なし]です。 注: クライアントサイド暗号化、サーバーサイド暗号化、およびKMS暗号化タイプを使用したサーバーサイド暗号化は選択できません。 |
ステージングディレクトリ1 | ローカルステージングディレクトリのパス。 ユーザーがディレクトリに対する書き込み権を持っていることを確認します。さらに、ファイル全体をステージングするのに十分な領域があることを確認します。デフォルトのステージングディレクトリは、Secure Agentをホストするマシンの/tempディレクトリです。 ディレクトリパスを指定すると、Secure Agentは、次の形式で指定したパーティションの数に応じてフォルダを作成します。 InfaS3Staging<00/11><timestamp>_<partition number>。ここで、00は読み取り操作を表し、11は書き込み操作を表します。 例えば、InfaS3Staging000703115851268912800_0のようになります。 新しいディレクトリに一時ファイルが作成されます。 ステージングディレクトリのソースプロパティは、Avro、ORC、Parquet、およびDeltaファイルには適用されません。 |
Hadoopパフォーマンスチューニングオプション | このプロパティはAmazon S3 V2コネクタに適用できません。 |
圧縮形式 | Amazon S3からデータを読み取るときにデータを圧縮解除します。 次の形式でのデータ解凍を選択することができます。 デフォルトは[なし]です。 マッピングでBzip2形式のJSONファイルからデータを読み取る場合に、詳細モードのマッピングのデータを解凍できます。 注: このプロパティにLzoのオプションが表示されていても、Amazon S3 V2コネクタはこの圧縮形式をサポートしません。 |
ダウンロードパートサイズ1 | Amazon S3オブジェクトのダウンロードパートサイズをバイト単位で指定します。 デフォルトは5 MBです。フラット形式タイプのファイルを読み取るマッピングを実行する場合は、このプロパティを使用します。 このプロパティは、フラットファイルにのみ適用されます。 |
複数ダウンロードしきい値1 | Amazon S3オブジェクトを複数のパートに分けてダウンロードするための最小しきい値サイズ。 オブジェクトを複数のパートで並行してダウンロードするには、Amazon S3オブジェクトのファイルサイズが、このプロパティで指定した値よりも大きいことを確認してください。デフォルトは10MBです。 このプロパティは、フラットファイルにのみ適用されます。 |
一時的な資格情報の期間 | IAMユーザーが動的に生成された一時的な資格情報を使用してAWSリソースにアクセスできる期間。期間を秒単位で入力します。 デフォルトは900秒です。 900秒より大きい値を設定する必要がある場合は、AWSコンソールで期間を最大12時間まで設定できます。設定後に、同じ期間をこのプロパティに入力してください。 |
トレースレベル | このプロパティはAmazon S3 V2コネクタに適用できません。 |
1詳細モードのマッピングには適用されません。 2詳細モードのマッピングにのみ適用されます。 |
マッピングのAmazon S3 V2ターゲット
マッピングでは、Amazon S3にデータを書き込むターゲットとしてAmazon S3 V2オブジェクトを表すようにターゲットトランスフォーメーションを設定できます。
Amazon S3 V2ターゲットの名前と説明を指定します。ターゲットオブジェクトのAmazon S3 V2ターゲットと詳細プロパティを設定します。
以下の表に、ターゲットトランスフォーメーションで設定できるAmazon S3 V2ターゲットプロパティを示します。
プロパティ | 説明 |
---|
接続 | Amazon S3 V2ターゲット接続の名前。ターゲット接続を選択するか、[新しいパラメータ]をクリックしてターゲット接続の新しいパラメータを定義します。 実行時にパラメータを上書きする場合は、パラメータの作成時に[実行時にパラメータのオーバーライドを許可する]オプションを選択します。タスクを実行すると、エージェントはタスク詳細セッションプロパティで指定したファイルからパラメータを使用します。 |
ターゲットタイプ | ターゲットのタイプ。次のいずれかのタイプを選択します。 - - 単一オブジェクト
- - パラメータ: マッピングタスクを設定する際に、ターゲットタイプを定義するには、[パラメータ]を選択します。
|
オブジェクト | ターゲットオブジェクトの名前。 既存のオブジェクトを選択するか、ランタイム時にオブジェクトを作成できます。実行時にオブジェクトを作成するときは、ターゲットオブジェクトの名前とパスを入力します。 |
パラメータ | ターゲットオブジェクトの既存のパラメータを選択するか、[新しいパラメータ]をクリックしてターゲットオブジェクトの新しいパラメータを定義します。パラメータをターゲットタイプとして選択する場合にのみ、パラメータプロパティが表示されます。 実行時にパラメータを上書きする場合は、パラメータの作成時に[実行時にパラメータのオーバーライドを許可する]オプションを選択します。タスクを実行すると、エージェントはタスク詳細セッションプロパティで指定したファイルからパラメータを使用します。 |
ターゲットの作成 | ターゲットを作成します。 ターゲットオブジェクトの名前とパスを入力します。ターゲット名では、パラメータファイルに定義したパラメータを使用できます。 |
形式 | Amazon S3 V2コネクタがAmazon S3のデータを書き込むために使用するファイル形式を指定します。 次のファイル形式タイプを選択できます。 - - なし1
- - Flat
- - Avro
- - ORC
- - Parquet
- - JSON2
- - Delta1
デフォルトは[なし]です。形式タイプとして[なし]を選択すると、Secure Agentはバイナリ形式でデータをAmazon S3ファイルに書き込みます。 [形式オプション]ダイアログボックスを開き、ファイルの形式を定義します。 形式オプションの詳細については、 ファイル形式オプションを参照してください。 |
操作 | ターゲット操作のタイプ。 Amazon S3 V2ターゲットでは、挿入操作のみを実行できます。 |
1詳細モードのマッピングには適用されません。 2詳細モードのマッピングにのみ適用されます。 |
以下の表に、ターゲットトランスフォーメーションで設定できるAmazon S3 V2詳細ターゲットプロパティを示します。
プロパティ | 説明 |
---|
存在する場合はファイルを上書き | 既存のターゲットファイルを上書きします。 デフォルトはtrueです。既存のファイルの上書きの詳細については、 既存のファイルの上書きを参照してください。 |
フォルダパス | Amazon S3ターゲットファイルの書き込み先のバケット名またはフォルダパス。ここに入力するパスは、実行時に作成するように設定されたターゲットに指定されたパスより優先されます。 該当する場合は、<bucket_name>/<folder_name>形式で、ターゲットファイルを含むフォルダの名前を追加します。 バケット名を指定せずに、/<folder_name>形式でスラッシュ(/)から始まるフォルダパスを指定した場合、このフォルダパスは接続プロパティで指定したフォルダパスに付加されます。 例えば、このプロパティでフォルダパスを/<dir2>と指定し、接続プロパティでフォルダパスを<my_bucket1>/<dir1>と指定すると、このフォルダパスは、<my_bucket1>/<dir1>/<dir2>形式で接続プロパティで指定したフォルダパスに付加されます。 接続プロパティでフォルダパスを<my_bucket1>/<dir1>と指定し、このプロパティでフォルダパスを<my_bucket2>/<dir2>と指定すると、Secure Agentはこのプロパティで指定したフォルダパス<my_bucket2>/<dir2>にファイルを書き込みます。 |
ファイル名 | 新しいファイル名を作成するか、既存のターゲットファイル名を上書きします。 |
暗号化タイプ | データの暗号化に使用する方法。 次のいずれかの暗号化タイプを選択します。 - - なし
- - クライアントサイドの暗号化1
- - サーバーサイドの暗号化
- - KMSを使用したサーバーサイド暗号化
- - Informatica Encryption
デフォルトは[なし]です。 暗号化タイプの詳細については、 Amazon S3 V2ターゲットでのデータ暗号化を参照してください。 |
ステージングディレクトリ1 | ローカルステージングディレクトリのパスを入力します。 ユーザーがディレクトリに対する書き込み権を持っていることを確認します。さらに、ファイル全体をステージングするのに十分な領域があることを確認します。デフォルトのステージングディレクトリは、Secure Agentをホストするマシンの/tempディレクトリです。 ディレクトリパスを指定すると、Secure Agentは、次の形式で指定したパーティションの数に応じてフォルダを作成します。 InfaS3Staging<00/11><timestamp>_<partition number>。ここで、00は読み取り操作を表し、11は書き込み操作を表します。 例えば、InfaS3Staging000703115851268912800_0のようになります。 新しいディレクトリに一時ファイルが作成されます。 ステージングディレクトリのターゲットプロパティは、Avro、ORC、Parquet、およびDeltaファイルには適用されません。 |
ファイルマージ | このプロパティはAmazon S3 V2コネクタに適用できません。 |
Hadoopパフォーマンスチューニングオプション | このプロパティはAmazon S3 V2コネクタに適用できません。 |
圧縮形式 | データをAmazon S3に書き込むときに圧縮します。 次の形式でデータを圧縮することができます。 - - なし
- - Bzip22
- - Deflate
- - gzip
- - lzo
- - Snappy
- - Zlib
デフォルトは[なし]です。 注: このプロパティにLzoのオプションが表示されていても、Amazon S3 V2コネクタはこの圧縮形式をサポートしません。 |
オブジェクトタグ | Amazon S3バケットに格納されるオブジェクトに1つまたは複数のタグを追加するためのキーと値のペア。 キー値のペアを入力するか、キー値のペアを含むファイルパスを指定することができます。 フラット形式タイプのファイルを書き込むマッピングを実行する場合は、このプロパティを使用します。オブジェクトタグの詳細については、 オブジェクトタグを参照してください。 このプロパティは、フラットファイルにのみ適用されます。 |
TransferManagerスレッドプールサイズ1 | データを並行して書き込むスレッドの数。 デフォルトは10です。フラット形式タイプのファイルを書き込むマッピングを実行する場合は、このプロパティを使用します。 Amazon S3 V2コネクタはAWS TransferManager APIを使用して、大きなオブジェクトを複数パーツに分けてAmazon S3にアップロードします。 ファイルサイズが5MBを超える場合、マルチパートアップロードを設定して、複数パーツに分けたオブジェクトを並行してアップロードできます。[TransferManagerスレッドプールサイズ]を50よりも大きく設定した場合、値は50に戻ります。 このプロパティは、フラットファイルにのみ適用されます。 |
パーティションファイルのマージ1 | データをAmazon S3 V2ターゲットに書き込むときに、Secure Agentで複数のパーティションファイルを1つのファイルにマージするか、指定されたパーティションの数に基づいて個々のファイルを維持するかを指定します。 このプロパティは、フラットファイルにのみ適用されます。 |
一時的な資格情報の期間 | IAMユーザーが動的に生成された一時的な資格情報を使用してAWSリソースにアクセスできる期間。期間を秒単位で入力します。 デフォルトは900秒です。 900秒より大きい値を設定する必要がある場合は、AWSコンソールで期間を最大12時間まで設定できます。設定後に、同じ期間をこのプロパティに入力してください。 |
パーツサイズ1 | Amazon S3オブジェクトのアップロードパートサイズをバイト単位で指定します。 デフォルトは5 MBです。フラット形式タイプのファイルを書き込むマッピングを実行する場合は、このプロパティを使用します。 このプロパティは、フラットファイルにのみ適用されます。 |
拒否された行の転送 | このプロパティはAmazon S3 V2コネクタに適用できません。 |
1詳細モードのマッピングには適用されません。 2詳細モードのマッピングにのみ適用されます。 |
マッピングを作成した際にAmazon S3ソースオブジェクトまたはAmazon S3ターゲットオブジェクトのカラム名に特殊文字が含まれている場合、それらの文字はSecure Agentによってアンダースコア(_)に置き換えられ、マッピングは失敗します。
Amazon S3 V2ルックアップ
接続済みおよび未接続のキャッシュされたルックアップトランスフォーメーションでAmazon S3 V2オブジェクトを使用できます。
ルックアップトランスフォーメーションの詳細については、『トランスフォーメーション』を参照してください。
ファイル形式オプション
Amazon S3ファイルの形式を選択する際には、形式オプションを設定できます。
次の表に、Avro、Parquet、JSON、ORC、および区切りフラットファイルの形式オプションを示します。
プロパティ | 説明 |
---|
スキーマソース | ソースファイルまたはターゲットファイルのこのスキーマ。以下のいずれかのオプションを選択して、スキーマを指定することができます。 - - データファイルから読み取る。Amazon S3のファイルからスキーマをインポートします。
- - スキーマファイルからインポートする。ローカルマシンのスキーマ定義ファイルからスキーマをインポートします。
|
スキーマファイル | スキーマ定義ファイルをアップロードします。実行時にターゲットを作成するときに、スキーマファイルをアップロードすることはできません。 |
次の表に、フラットファイルの形式オプションを示します。
プロパティ | 説明 |
---|
データファイルから読み取る | Amazon S3のファイルからスキーマをインポートします。 [データファイルから読み取る]を選択してJSON2ファイル形式を使用する場合は、次のいずれかのオプションを選択できます。 - - サンプリングするデータ要素。メタデータから読み取る行数。
- - データの処理に使用可能なメモリ。パーサーがJSONサンプルスキーマを読み取って処理するために使用するメモリ。パーサーメモリは増やすことができます。デフォルトは2MBです。
|
スキーマファイルからインポートする | ローカルマシンのスキーマ定義ファイルからスキーマをインポートします。 [スキーマファイルからインポートする]を選択した場合、[スキーマファイル]を選択してスキーマファイルをアップロードできます。 Amazon S3にデータを書き込む際に[ターゲットの作成]オプションを選択した場合は、スキーマファイルをアップロードすることはできません。 |
フラットファイルタイプ | フラットファイルのタイプ。 次のいずれかのオプションを選択します。 - - 区切り。カラム区切り文字を含むフラットファイルを読み取ります。
- - 固定長。固定長のフィールドを含むフラットファイルを読み取ります。
[固定長ファイル形式]オプションのファイル形式を選択する必要があります。 固定長ファイル形式がない場合、[新規] > [コンポーネント] > [固定長ファイル形式]をクリックして作成します。
|
区切り文字 | データのカラムを区切るために使用される文字。カンマ、タブ、コロン、セミコロンなどのパラメータを設定できます。タブを区切り文字として設定するには、任意のテキストエディタでタブ文字を入力する必要があります。その後、そのタブ文字をコピーして[区切り文字]フィールドに貼り付けます。 |
エスケープ文字 | 引用符で囲まれていない文字列におけるカラム区切り文字の直前の文字、または引用符で囲まれた文字列内における引用符の直前の文字。 文字または\<10進数値>を指定できます。\<10進数値>を指定すると、エージェントは、10進値のASCII文字をエスケープ文字と見なします。 例えば、\64を指定すると、エージェントはASCII文字@と見なします。 エスケープ文字を無視するには、\0と指定します。 |
修飾子 | データの境界を定義する引用符。 修飾子は、一重引用符または二重引用符で設定できます。 |
修飾子モード | ターゲットオブジェクトの修飾子の動作を指定します。 以下のいずれかのオプションを選択することができます。 - - 最小。区切り文字の値があるデータに修飾子を適用します。特殊文字がない場合、Secure Agentはターゲットへのデータ書き込み時に修飾子を適用しません。
- - すべて。空でないすべてのカラムに修飾子を適用します。
デフォルトモードは最小です。 |
コードページ | エージェントがデータの読み取りまたは書き込みに使用する必要があるコードページを選択します。 Amazon S3 V2コネクタは、以下のコードページをサポートしています。 - - MS Windows Latin 1。ISO 8859-1 Western Europeanデータの場合に選択します。
- - UTF-8。UnicodeおよびUnicode以外のデータの場合に選択します。
- - Shift-JIS。ダブルバイト文字データの場合に選択します。
- - ISO 8859-15 Latin 9(Western European)。
- - ISO 8859-2 Eastern European。
- - ISO 8859-3 Southeast European。
- - ISO 8859-5 Cyrillic。
- - ISO 8859-9 Latin 5(Turkish)。
- - IBM EBCDIC International Latin-1。
|
修飾子が設定されているときにエスケープ文字を無効にする | 修飾子の値がすでに設定されている際にエスケープ文字を無効にする場合にオンにします。 |
ヘッダー行番号 | Amazon S3からのデータの読み取り時にヘッダーとして使用する行番号を指定します。ヘッダーがないファイルを読み取ることもできます。 ヘッダーのないファイルからデータを読み取るには、[ヘッダー行番号]フィールドの値を0に指定します。ヘッダーのあるファイルからデータを読み取るには、[ヘッダー行番号]フィールドの値を1以上の値に設定します。 このプロパティは、ソースデータをプレビューするとき、およびマッピングの実行時に適用されます。 デフォルトは1です。 |
最初のデータ行1 | Secure Agentがデータの読み取りを開始する行番号を指定します。1以上の値を入力する必要があります。 ヘッダーからデータを読み取るには、[ヘッダー行番号]と[最初のデータ行]のフィールドに同じ値を指定する必要があります。デフォルトは1です。 このプロパティは、実行時およびファイルを読み取るためのデータプレビュー時に適用されます。このプロパティは、ファイルを書き込むためのデータプレビュー時に適用されます。 |
ターゲットヘッダー | フラットファイルでヘッダーを含むターゲットとヘッダーを含まないターゲットのどちらにデータを書き込むかを指定します。[ヘッダーあり]オプションまたは[ヘッダーなし]オプションを選択できます。 このプロパティは、Amazon S3ソースからデータを読み取るときには適用されません。 |
分散カラム1 | 実行時に複数ターゲットファイルの作成に使用するカラムの名前を指定します。 このプロパティは、Amazon S3ソースからデータを読み取るときには適用されません。分散カラムの詳細については、 分散カラムを参照してください。 |
プレビューする最大行数 | Amazon S3 V2コネクタには適用されません。 |
行区切り文字 | データの列を区切るために使用する文字。値には、\r、\n、\r\nを設定できます。 |
1詳細モードのマッピングには適用されません。 2詳細モードのマッピングにのみ適用されます。 |
次の表に、JSONファイルの形式オプションを示します。
プロパティ | 説明 |
---|
サンプリングするデータ要素1 | メタデータを取り込むための最良の一致を見つけるために読み取る行数を指定します。 |
データの処理に使用可能なメモリ1 | パーサーがJSONサンプルスキーマを読み取って処理するために使用するメモリ。 デフォルト値は2 MBです。 ファイルサイズが2 MBを超える場合、エラーが発生する可能性があります。読み取るファイルサイズに値を設定します。 |
複数行のJSONファイルの読み取り | 該当なし。 |
1詳細モードのマッピングにのみ適用されます。 |
Deltaファイル
Amazon Redshiftでは、Deltaファイルの読み取りと書き込みを行うことができます。
Deltaファイルは、次のようなコンポーネントで構成されています。
Deltaファイルに対して読み取りと書き込みを行う場合は、次のルールとガイドラインを考慮してください。
- •SQL ELTモードのマッピング、またはSQL ELTの最適化が有効なマッピングタスクでは、Deltaファイルの読み取りと書き込みを行うことはできません。
- •ソースパーティション化またはターゲットパーティション化は、Deltaファイルの読み取り時、またはデルタ・ファイルへの書き込み時には使用できません。
- •Deltaファイルから読み取りを行ってメタデータを編集する場合は、データ型を変更しないようにしてください。そうしないと、マッピングが失敗します。変更できるのはデータ型の精度のみです。
- • [Delta]形式タイプを選択し、[スキーマソース]形式オプションの値に[スキーマファイルからインポートする]を選択した場合は、JSON形式のスキーマファイルのみをアップロードすることができます。
次のサンプルに、Deltaファイルのスキーマファイルを示します。
{"type": "struct","fields": [{"name": "c_custkey","type": "integer","nullable": true,"metadata": {}},{"name": "c_name","type": "string","nullable": true,"metadata": {}},{"name": "c_address","type": "string","nullable": true,"metadata": {}},{"name": "c_comment","type": "string","nullable": true,"metadata": {}}]}
- •Deltaファイルのメタデータが変更された場合、現在のフォルダパスまたはバケット内の同じDeltaファイルにデータを書き込むことはできません。別のパス名またはバケット名を指定する必要があります。
形式オプションの設定に関するルールとガイドライン
Amazon S3ファイル形式タイプを選択するときは、適切な形式オプションを設定する必要があります。
形式タイプを選択し、形式オプションを設定するときは、以下のガイドラインを使用します。
- •JSON形式は、詳細モードのマッピングにのみ使用できます。
- •マッピングを作成し、[形式オプション]タブをクリックしなかった場合、Secure Agentはデフォルトの[入力形式]を[なし]と見なします。
- •Avro、JSON、ORC、またはParquetの形式タイプを選択し、[スキーマソース]形式オプションの値に[データファイルから読み取る]を選択した場合、区切り文字、エスケープ文字、および修飾子の各オプションを設定することはできません。
- •[入力形式]でAvro、JSON、ORC、またはParquetを選択し、[スキーマソース]形式オプションの値に[スキーマファイルからインポートする]を選択した場合、[スキーマファイル]プロパティフィールドでスキーマファイルのアップロードのみを行えます。区切り文字、エスケープ文字、および修飾子の各オプションを設定することはできません。
- • フラット形式タイプを選択し、[スキーマソース]形式オプションの値に[スキーマファイルからインポートする]を選択した場合、JSON形式でスキーマファイルのみをアップロードできます。
次のサンプルは、フラットファイルのスキーマファイルを示しています。
{"Columns":[{"Name":"f_varchar","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_char","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_smallint","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_integer","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_bigint","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_decimal_default","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_real","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_double_precision","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_boolean","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_date","Type":"string","Precision":"256","Scale":"0"},{"Name":"f_timestamp","Type":"string","Precision":"256","Scale":"0"}]}
- •次の例外を避けるために、選択するAvro、JSON、ORC、またはParquetの形式タイプに適した[形式オプション]を設定します。
invalid character encapsulated
- •Amazon S3 V2はこの機能をサポートしていないため、形式オプションで[複数行のJSONファイルの読み取り]チェックボックスを選択することはできません。
- •ソースカラムにParquet-datetimeデータ型の値があるAmazon S3 V2ソースでマッピングを実行する際に、完全なSQL ELTの最適化が有効になっていない場合は、ターゲットにマッピングされるタイムスタンプ値がUTC形式で表示されません。
ターゲットの指定
マッピングの結果は、既存のターゲットに保存することも、新たにターゲットを作成して保存することもできます。ターゲットを作成することを選択した場合、Secure Agentはタスクの実行時にターゲットを作成します。
ターゲットのプロパティを指定するには、次の手順に従います。
1マッピングでターゲットトランスフォーメーションを選択します。
2[受信フィールド]タブで、ターゲットに含めるフィールドを指定するフィールドルールを設定します。
3ターゲットを指定するには、[ターゲット]タブをクリックします。
4ターゲット接続を選択します。
5ターゲットタイプとして[単一オブジェクト]または[パラメータ]を選択します。
6ターゲットオブジェクトまたはパラメータを指定します。.csvターゲットファイル名を指定する必要があります。
- - 実行時にターゲットファイルを作成するには、Accounts.csvのように、拡張子を含めてターゲットファイルの名前を入力します。
7ファイルの形式オプションを設定する場合は、[形式オプション]をクリックし、[OK]をクリックします。
8[選択]をクリックしてターゲットオブジェクトを選択します。既存のターゲットオブジェクトを選択するか、実行時に新しいターゲットオブジェクトを作成し、オブジェクト名を指定することができます。
次の図は、[ターゲットオブジェクト]ボックスを示しています。
9必要に応じて、ターゲットの詳細プロパティを指定します。
ターゲットの作成に関するルールとガイドライン
[ターゲットの作成]プロパティを使用する場合は、次のルールとガイドラインを考慮してください。
ターゲットオブジェクトのパスのルールおよびガイドライン
[ターゲットの作成]プロパティでパスを指定する場合は、次のルールとガイドラインを考慮してください。
- •パスを指定する場合、Secure Agentはこのプロパティで指定したパスおよび[フォルダパス]接続プロパティで指定したバケット内にターゲットオブジェクトを作成します。Secure Agentは次の形式でターゲットオブジェクトを作成します。<bucket_name>/<path_name>/<target_object_name>。
- •Secure Agentはバケットのみを使用し、[フォルダパス]接続プロパティで指定したパスは無視します。
例えば、パスをfolder1/folder2、ターゲットオブジェクト名をRecordsと指定します。接続プロパティの[フォルダパス]で<bucket_name>/folder3と指定します。Secure Agentは次の場所にターゲットオブジェクトを作成します。<bucket_name>/folder1/folder2/Records。
- •パスを指定していない場合、Secure Agentは、次の形式で[フォルダパス]接続プロパティで指定したバケット内にターゲットオブジェクト名を作成します。<bucket_name>/<target_object_name>。
例えば、パスを指定せず、ターゲットオブジェクト名にRecordsを指定すると、Secure Agentは、次の形式で[フォルダパス]接続プロパティで指定したバケット内にターゲットオブジェクトを作成します。<bucket_name>/Records。
- •パスにバケット名は指定しないでください。
- - マッピングの場合、パスにバケット名を指定すると、バケット名はフォルダパス内のフォルダと見なされます。例えば、パスを<bucket_name>/<path_name>のように指定した場合、<bucket_name>はフォルダと見なされます。
- - 詳細モードのマッピングの場合、パスにバケット名を指定すると、バケット名は無視されます。
Amazon S3 V2のパラメータ化
入力パラメータを使用してソースオブジェクトとターゲットオブジェクトの両方をパラメータ化し、in-outパラメータを使用して詳細プロパティのデータをパラメータ化できます。
Amazon S3 V2ターゲットオブジェクトのファイル名とターゲットフォルダの場所をパラメータ化して、実行時にファイル名とフォルダの場所を渡すことができます。フォルダが存在しない場合は、Secure Agentによってフォルダ構造が動的に作成されます。
次の条件でマッピングを設定した場合に、マッピングが失敗する。
- •パラメータ化されたソースとターゲット
- •[実行時にパラメータのオーバーライドを許可する]チェックボックスが選択されている
- •マッピングタスクの作成中にソースオブジェクトがフォルダ内で選択されている
タイムスタンプを使用したパラメータ化
タイムスタンプ情報をファイル名に追加して、ファイルがいつ作成されたかを示すことができます。フラット形式タイプのファイルを書き込むマッピングを作成する場合は、タイムスタンプを使用したパラメータ化を使用できます。
詳細モードのマッピングでタイムスタンプを使用してパラメータ化を実行することはできません。
ターゲットファイルのファイル名を指定するとき、マッピングタスクがタイムスタンプ情報をファイル名に追加するために使用するApache STRFTIME関数の形式に基づいて特殊文字を含めます。[特殊文字の処理]オプションを有効にして、ファイル名に含まれる%[mod]という形式の特殊文字を処理する必要があります。マッピングでSTRFTIME関数の形式を使用できます。
[特殊文字の処理]を有効にすると、Secure Agentは[ターゲットの作成]の入力パラメータと出力パラメータを無視します。
次の表に、マッピングまたはマッピングタスクで使用される一般的なSTRFTIME関数の形式を示します。
特殊文字 | 説明 |
---|
%d | 2桁の10進数で表される日(01~31)。 |
%m | 2桁の10進数で表される月(01~12)。 |
%y | 2桁の10進数で表される、世紀を含まない年(00~99)。 |
%Y | 世紀を含む年(2015など)。 |
%T | 24時間表記の時刻(%H:%:M:%Sに相当)。 |
%H | 24時間表記の時間(00~24)。 |
%l | 12時間表記の時間(01~12)。 |
%M | 10進数で表される分(00~59)。 |
%S | 10進数で表される秒(00~60)。 |
%p | AMまたはPM。 |
パラメータファイルを使用したパラメータ化
パラメータファイルを使用してAmazon S3 V2ターゲットファイルをパラメータ化できます。フラット形式タイプのファイルを書き込むマッピングを作成する場合は、パラメータファイルを使用できます。
パラメータファイルを使用してAmazon S3 V2ターゲットファイルをパラメータ化するには、次の手順を実行します。
- 1Amazon S3 V2ターゲットオブジェクトを作成します。
- 2[ターゲットの作成]オプションで、[ターゲットファイル名]の値を$p1、[ターゲットオブジェクトパス]の値を$p2に指定します。
- 3ターゲットオブジェクト名とターゲットオブジェクトパスに追加したパラメータを、パラメータファイルで定義します。
以下に例を示します。
$p1=filename
$p2=path
- 4パラメータファイルを次の場所に配置します。
<Informatica Cloud Secure Agent\apps\Data_Integration_Server\data\userparameters>
- 5マッピングタスクの[ランタイムオプション]タブでパラメータファイル名を指定します。
- 6マッピングタスクを保存して実行します。
詳細モードのマッピングに関するルールとガイドライン
詳細モードのマッピングを作成する場合は、次のガイドラインを考慮してください。
- •詳細モードのマッピングを実行するときに、次の形式のフォルダがターゲットで作成され、そのフォルダ内に複数のターゲットファイルが生成されます: <target_foldername>.<file_extension>。
- •詳細モードのマッピングでデータをAmazon S3ファイルに書き込むときに、ファイルがフォルダに置き換えられ、フォルダ内にターゲットファイルが生成されます。同じAmazon S3ファイルを参照する別の詳細モードのマッピングを作成すると、ファイルが見つからず、次のエラーメッセージが発生してマッピングが失敗します。
Operation failed: Index: 0, Size: 0.
- •ファイルから読み取るように読み取り操作を設定する場合は、ファイル名の先頭の文字を_または.以外にする必要があります。
- •ルックアップトランスフォーメーションを設定して複数一致時にエラーを報告するように[エラーを報告]オプションを選択した場合、不一致カラムのデータはエラーメッセージが表示されずにターゲットに書き込まれます。
- •JSONファイルからデータを読み取る際、行のいずれかに不適切なBoolean値が含まれていた場合、すべての行が拒否され、NULL値がターゲットに書き込まれます。
- •Unicode文字を含むJSONファイルからデータを読み取ると、データの不整合が発生する場合があります。
- •Amazon S3 V2コネクタがサポートしていないデータ型を選択すると、マッピングが失敗するか、すべての行が拒否される可能性があります。
- •メタデータ解決用のJSONサンプルデータファイルの一部として"{"Elements":[]}"などの空の配列要素がある場合、JSONパーサーは次のエラーで失敗します。
[SDK_APP_COM_20000] error [Array must contain at least 1 element for projection].
メタデータ解決のための空の配列なしで、スキーマ全体をサンプルデータ行として入力します。[スキーマファイルからインポートする]オプションを使用して、このファイルをアップロードできます。
- • メタデータ解決用のJSONサンプルデータファイルの一部として"{"Elements":[]}"などの空の構造体要素がある場合、JSONパーサーは次のエラーで失敗します。
Struct must contain at least one key :: fields
メタデータ解決のための空の構造体なしで、スキーマ全体をサンプルデータ行として提供します。[スキーマファイルからインポートする]オプションを使用して、このファイルをアップロードできます。
- •JSONパーサーは、配列の最初の値を使用して、配列要素のデータ型を解釈します。例えば、最初の値が整数で、その後に長い値が含まれている場合、メタデータは整数として解決されます。実行時に、長整数型の値がDTMバッファに収まらないため、行全体がドロップされます。
メタデータの解決に必要なデータ型またはサブフィールドを含む最初の配列または構造体要素を含むサンプルデータ行として、スキーマ全体を入力します。[スキーマファイルからインポートする]オプションを使用して、このファイルをアップロードできます。
- •JSONファイルからのメタデータの解釈に使用される最初の行サイズには2MBの制限があります。データファイルの最初の行が2MBより大きい場合、JSONパーサーは失敗します。
構造体要素と配列要素から追加のタグを削除して、サンプルデータの行サイズを減らします。JSONパーサーは、構造体要素と配列要素内の最初の要素のみを必要とします。最初の要素でメタデータの解決に必要なデータ型またはサブフィールドを指定します。[スキーマファイルからインポートする]オプションを使用して、このファイルをアップロードできます。
- •ステージングディレクトリのソースとターゲットの詳細プロパティは適用されません。ただし、詳細設定のAmazon S3のステージングディレクトリを指定する必要があります。詳細については、「Administrator」を参照してください。
- •修飾子モードを[最小]に設定してエスケープ文字を使用すると、ターゲットでは文字はエスケープされず、引用符で囲まれます。修飾子モードを[すべて]に設定します。
- •修飾子モードを[すべて]に設定し、修飾子の値を指定しない場合、\0(NUL)が修飾子と見なされます。
- •フラットソースファイルをパラメータ化すると、FileNameフィールドがソースフィールドに表示されます。回避策として、ターゲットの受信フィールドにルールを追加し、FileNameフィールドを除外します。
- •テーブル名またはスキーマ名にバックスラッシュ(/)が含まれている場合、マッピングは失敗します。
- •ソースから読み取たJSONデータが、スキーマ定義ファイルで定義されたソーススキーマと一致しない場合、ターゲットに書き込まれたデータは破損した状態で表示されます。
詳細モードのマッピングの例
運用中の学生データベースで数百万件のレコードを保持している大規模なコミュニティカレッジで働いているとします。カレッジでは、世界中の45か所のキャンパスと700か所の拠点に10,000人以上の教職員がいます。非常に大規模なITインフラストラクチャを保有していて、毎日インターネットからおよそ15 TBの情報がダウンロードされています。
パフォーマンスと拡張性の問題を回避し、高額なコストが発生しないようにするために、このカレッジではデータ全体をオペレーショナルデータストアからAmazon S3に短期間で移行するよう計画しています。Amazon S3からすべての注文レコードを読み取ってAmazon Redshiftターゲットに書き込む場合のパフォーマンスを向上させるために、詳細モードで実行されるマッピングを作成します。
1データ統合で、[新規] > [マッピング] > [マッピング]をクリックします。
2Mapping Designerで、[詳細に切り替え]をクリックします。
次の図は、Mapping Designerの
[詳細に切り替え]ボタンを示しています。
![Mapping Designerでは、ヘッダーに[詳細に切り替え]ボタンが表示されます。 Mapping Designerでは、ヘッダーに[詳細に切り替え]ボタンが表示されます。](../cloud-data-integration-amazon-s3-v2-connector/images/GUID-0322EC4B-9CA5-4A68-A5A9-675688CB4EA7-low.png)
3[詳細に切り替え]ダイアログボックスで、[詳細に切り替え]をクリックします。
Mapping Designerでマッピングキャンバスが更新され、詳細モードで使用できるトランスフォーメーションと関数が表示されます。
4マッピングの名前、場所、説明を入力します。
5ソーストランスフォーメーションの全般プロパティで、名前と説明を指定します。
6[ソース]タブで、次の手順を実行して、ソースからデータを読み込むためのソース詳細を入力します。
- a[接続]フィールドで、必要なソース接続を選択します。
- b[ソースタイプ]フィールドで、ソースのタイプを選択します。
- c[オブジェクト]フィールドで、必要なオブジェクトを選択します。
- d[詳細プロパティ]セクションで、適切な値を入力します。
7[フィールド]タブで、ソースフィールドをターゲットフィールドにマッピングします。
8ターゲットトランスフォーメーションの全般プロパティで、名前と説明を指定します。
9[ターゲット]タブで、次の手順を実行して、Amazon S3ターゲットにデータを書き込むためのターゲット詳細を入力します。
- a[接続]フィールドで、Amazon S3 V2ターゲット接続を選択します。
- b[ターゲットタイプ]フィールドで、ターゲットのタイプを選択します。
- c[オブジェクト]フィールドで、必要なオブジェクトを選択します。
- d[操作]フィールドで、必要な操作を選択します。
- e[詳細プロパティ]セクションで、詳細プロパティに適切な値を指定します。
10ソースおよびターゲットをマッピングします。
11[保存] > [実行]をクリックして、マッピングを検証します。
[監視]で、タスクの実行後にログのステータスを監視できます。