Amazon S3、フラットファイル、Google Cloud Storage、Microsoft Azure Data Lake Storage、およびOracle Cloud Object Storageターゲット 次のリストは、Amazon S3、フラットファイル、Google Cloud Storage、Microsoft Azure Data Lake Storage、およびOracle Cloud Infrastructure(OCI)Object Storageターゲットを使用する際の考慮事項を示しています。
• Amazon S3、Google Cloud Storage、Microsoft Azure Data Lake Storage、またはOracle Cloud Object Storageターゲットを持つデータベース取り込みとレプリケーション タスクを定義する場合、ターゲットに適用するソースデータを含む生成された出力ファイルに対してCSV形式、Avro形式、またはParquet形式のいずれかを選択できます。フラットファイルターゲットの場合、出力ファイル形式としてCSVまたはAvroを選択できます。 • Amazon S3ターゲットに書き込む場合、デフォルトの出力タイプとしてParquet が設定された、オープンテーブル 形式を選択するオプションがあります。タスクが実行されると、データはターゲットプロパティで指定した名前空間に従ってS3ストレージ内に整理されます。[ウェアハウスベースディレクトリ] は、ターゲットファイルが作成されるS3上のフォルダパスを定義します。[親としての接続ディレクトリ] オプションは、S3で完全なファイルパスを形成するときに、接続からのフォルダパスをウェアハウスベースディレクトリに追加するかどうかを決定します。- 有効にした場合、ターゲットファイルは次のディレクトリに保存されます: <S3接続で指定したディレクトリ>/<Warehouse_Base_Directory>/<ファイル> - 有効にしない場合、ターゲットファイルは次のディレクトリに直接保存されます: <Warehouse_Base_Directory>/<ファイル> • [CSV]出力形式を選択した場合、データベース取り込みとレプリケーション は、ソーステーブルごとに次のファイルをターゲットに作成します。- スキーマを記述し、ターゲット上の出力ファイルのいくつかの設定を含むschema.iniファイル。- ソースデータを含む、ソーステーブルごとの1つ以上の出力ファイル。データベース取り込みとレプリケーション は、日付と時刻が追加されたソーステーブルの名前に基づいて、これらのテキストファイルに名前を付けます。schema.iniファイルには、対応する出力ファイルの行の一連のカラムが一覧表示されます。次の表で、schema.iniファイルのカラムについて説明します。
カラム
説明
ColNameHeader
ソースデータファイルにカラムヘッダーが含まれているかどうかを示します。
Format
出力ファイルの形式を示します。データベース取り込みとレプリケーション はカンマ(,)を使用してカラムの値を区切ります。
CharacterSet
出力ファイルに使用される文字セットを指定します。データベース取り込みとレプリケーション はUTF-8文字セットでファイルを生成します。
COL<sequence_number>
カラムの名およびデータ型。
注:
- タスクウィザードの[ターゲット] ページの[詳細] で[操作の追加...] プロパティのいずれかを選択した場合、カラムのリストには、操作のタイプ、時間、所有者、またはトランザクションIDのメタデータカラムが含まれます。- [前のイメージを追加] チェックボックスを選択した場合、ソースカラムごとにジョブがUNDOデータのcolumn_name _OLDカラムとREDOデータのcolumn_name _NEWカラムを作成します。
重要: schema.iniファイルは編集しないでください。
• [Avro]出力フォーマットを選択した場合、Avro形式タイプ、ファイル圧縮タイプ、Avroデータ圧縮タイプ、および各ソーステーブルに対して生成されたAvroスキーマ定義を格納するディレクトリを選択できます。スキーマ定義ファイルの命名パターンは、スキーマ名 _テーブル名 .txtです。• Parquet出力形式を選択した場合、必要に応じて、Parquetがサポートする圧縮タイプを選択できます。• フラットファイルおよびMicrosoft Azure Data Lake Storageターゲットでは、データベース取り込みとレプリケーション は空のソーステーブルごとに空のディレクトリを作成します。データベース取り込みとレプリケーション は、Amazon S3、Google Cloud Storage、およびOracle Cloud Object Storageターゲットに空のディレクトリを作成しません。 • Amazon S3接続プロパティでアクセスキーと秘密鍵を指定しない場合、データベース取り込みとレプリケーション はDefaultAWSCredentialsProviderChainクラスによって実装されているデフォルトの資格情報プロバイダチェーンを使用して、AWS資格情報を見つけようとします。詳細については、Amazon Webサービス のドキュメントを参照してください。• データベース取り込みとレプリケーション の増分ロードジョブ、および初期ロードと増分ロードの組み合わせジョブが、ソースのプライマリキー値をCSV出力形式を使用するこれらのターゲットのいずれかに変更する更新操作をレプリケートする場合、ジョブは各更新レコードをターゲットでの2つのレコード(削除とそれに続く挿入)として処理します。削除には更新前のイメージが含まれています。挿入には同じ行の更新後のイメージが含まれています。プライマリキー値を変更しない更新操作の場合、データベース取り込みとレプリケーション ジョブは各更新を1つの操作として処理し、更新後のイメージのみをターゲットに書き込みます。
注: ソーステーブルにプライマリキーがない場合、データベース取り込みとレプリケーションはすべてのカラムがプライマリキーの一部であるかのようにテーブルを扱います。この場合、各更新操作は、削除とそれに続く挿入として処理されます。
• データベース取り込みとレプリケーション ジョブは、データがAmazon S3、フラットファイル、またはMicrosoft Azure Data Lake Storageターゲットに送信されるときに、16進数形式でバイナリデータをアンロードします。各16進数カラムの値には、「0x」プレフィックスが付いています。出力ファイルを使用してデータをターゲットにロードする場合は、ファイルを編集して「0x」プレフィックスを削除する必要がある場合があります。 • WindowsでSecure Agentサービスを実行していて、フラットファイル接続を使用する場合は、Secure Agentのログオンアカウントが管理者アカウントであることを確認してください。これを行わないと、フラットファイル接続を設定しようとしたときにエラーが発生します。• Apache Iceberg形式でNUMBER(p,s)データ型をAmazon S3に書き込む場合、NUMBER(p,s)型はApache IcebergのDecimalにマッピングされ、最大精度は38になります。ソースからのNUMBER(p,s)の精度が38を超えると、タスクは失敗します。