データベース取り込みとレプリケーション > データベース取り込みとレプリケーション > データベース取り込みとレプリケーションターゲット - 準備と使用方法
  

データベース取り込みとレプリケーションターゲット - 準備と使用方法

データベース取り込みとレプリケーションタスクを初期ロード操作、増分ロード操作、または初期ロードと増分ロードの組み合わせ操作に設定する前に、予期しない結果を回避するために、ターゲットタイプについて次のガイドラインを確認してください。

Amazon Redshiftターゲット

次のリストは、Amazon Redshiftターゲットを準備および使用する際の考慮事項を示しています。

Amazon S3、フラットファイル、Google Cloud Storage、Microsoft Azure Data Lake Storage、Microsoft Fabric OneLake、およびOracle Cloud Object Storageターゲット

次のリストは、Amazon S3、フラットファイル、Google Cloud Storage、Microsoft Azure Data Lake Storage、Microsoft Fabric OneLake、およびOracle Cloud Infrastructure(OCI)Object Storageターゲットを使用する際の考慮事項を示しています。

Databricksターゲット

データベース取り込みとレプリケーションタスクでDatabricksターゲットを使用するには、最初にターゲットを準備し、使用に関する考慮事項を確認してください。
ターゲットの準備:
  1. 1Databricks接続プロパティで、[JDBCドライバクラス名]プロパティをcom.databricks.client.jdbc.Driverに設定します。
  2. 2Windowsでは、Secure Agentが実行されているコンピュータにVisual Studio2013用のVisual C++再配布可能パッケージをインストールします。
使用に関する考慮事項:

Google BigQueryターゲット

次のリストは、Google BigQueryターゲットを準備および使用する際の考慮事項を示しています。

ターゲットの準備

ターゲットの用途

KafkaターゲットとKafka対応Azure Event Hubsターゲット

次のリストは、Kafkaターゲットを使用する際の考慮事項を示しています。

Kafkaターゲットのカスタムメッセージキーの生成

Avro形式を使用するすべてのKafkaターゲットタイプに対し、ソーステーブルごとに1つ以上のカラムで構成されるカスタムメッセージキーを生成するルールを設定できます。ルールの設定後、Kafkaターゲットを持つデータベース取り込みとレプリケーションの増分ロードジョブは、ターゲットメッセージングシステムに送信するメッセージのヘッダーに、生成されたメッセージキーをを含めることができます。ターゲットメッセージングシステムはメッセージキーを使用して、特定のキー値を持つメッセージをマルチパーティショントピック内の同じパーティションに書き込むことができます。
この機能を実装するには、各ソーステーブルのキーカラムを識別するルールを含んだ構成ファイルを手動で作成する必要があります。次に、タスクウィザードのカスタム設定プロパティにファイルを指定します。

構成ファイルの作成

テキストエディタでルール構成ファイルを作成し、Secure Agentシステム上の場所に保存します。このファイルには、各ソーステーブルのルールが含まれています。各ルールは、トピックパーティションへのデータの書き込みに使用するカスタムキーカラムを定義します。
注: データベース取り込みとレプリケーションタスクがデプロイされた後にルールを変更または追加するか、他のパラメータのいずれかを変更した場合、ルールの変更を有効にするには、タスクを再デプロイする必要があります。
ルールの構文:
次の構文を使用して構成ファイルにルールを定義します。
rule=(schema.tablename,column1,column2,column3,… )
additional rules...
[tableNotFound=ABORT]
[trace={true|false}]
[delimiter=character]
ファイルにコメントを含めるには、各コメント行を番号(#)記号で始めます。例:
#This text is for informational purposes only.
パラメータ:
サンプルルール:
rule=(testdb.ABC.DEPT,DEPTNO,DNAME)
tableNotFound=ABORT
trace=true
delimiter=;
このルールに基づいて生成されたキー出力の例:
1234;HR;

データベース取り込みおよびレプリケーションタスク設定

Kafkaターゲットを持つデータベース取り込みとレプリケーションの増分ロードタスクを作成する場合、次のオプションを設定して、カスタムメッセージキーの生成を有効にする必要があります。

Microsoft Azure Synapse Analyticsターゲット

次のリストは、Microsoft Azure Synapse Analyticsターゲットを準備および使用する際の考慮事項を示しています。

Microsoft SQL ServerおよびAzure SQLデータベースのターゲット

Microsoft SQL ServerまたはMicrosoft Azure SQL Databaseターゲットは、初期ロード、増分ロード、および初期ロードと増分ロードの組み合わせジョブで使用できます。SQL Serverターゲットには、オンプレミス、RDS、およびAzure SQL Managed Instanceターゲットが含まれます。
次のリストは、Microsoft SQL Serverターゲットを準備および使用する際の考慮事項を示しています。

Oracleターゲット

次のリストは、Oracleターゲットを準備および使用する際の考慮事項を示しています。

ターゲットの準備

使用に関する考慮事項:

PostgreSQLターゲット

Amazon Aurora PostgreSQLおよびRDS for PostgreSQLは、Db2 for i、Oracle、PostgreSQL、またはSQL Serverソースを持つ初期ロードジョブ、増分ロードジョブ、および初期ロードと増分ロードの組み合わせジョブでターゲットとして使用できます。
次のリストは、PostgreSQLターゲットを準備および使用する際の考慮事項を示しています。

Snowflakeターゲット

ターゲットの準備

ターゲットの準備は、Snowflakeターゲットテーブルへのデータの高パフォーマンスストリーミングにSuperpipe機能を使用するか、中間ステージファイルにデータを書き込むかによって異なります。
Superpipeを使用
Superpipe機能を使用する場合は、次の手順を実行します。
  1. 1データ取り込みおよびレプリケーションユーザーを作成します。次のSQL文を使用します。
  2. create user INFACMI_User password 'Xxxx@xxx';
  3. 2新しいユーザーロールを作成し、データ取り込みおよびレプリケーションユーザーに付与します。以下のSQL文を使用します。
  4. create role INFACMI_superpipe;
    grant role INFACMI_superpipe to user INFACMI_User;
  5. 3Snowflake仮想ウェアハウスの使用権限を新しいロールに付与します。次のSQL文を使用します。
  6. grant usage on warehouse warehouse_name to role INFACMI_superpipe;
  7. 4Snowflakeデータベースの使用権限を新しいロールに付与します。次のSQL文を使用します。
  8. grant usage on database INFACMI_DB1 to role INFACMI_superpipe;
  9. 5新しいスキーマを作成します。以下のSQL文を使用します。
  10. use database INFACMI_DB1;
    create schema sh_superpipe;
  11. 6新しいSnowflakeスキーマに対するcreate stream、create view、およびcreate table特権を新しいロールに付与します。次のSQL文を使用します。
  12. grant create stream, create view, create table, usage on schema INFACMI_DB1.sh_superpipe to role INFACMI_superpipe;
  13. 7新しく作成されたユーザーのデフォルトのロールを設定します。次のSQL文を使用します。
  14. alter user INFACMI_User set default_role=INFACMI_superpipe;
  15. 8ターゲットへのSnowflake Data Cloud接続を定義します。認証方法として[KeyPair]オプションを使用する必要があります。「コネクタと接続」>「Snowflake Data Cloud接続プロパティ」を参照してください。
  16. 9OpenSSLバージョン3.x.xとPBE-SHA1-2DESまたはPBE-SHA1-3DES暗号を使用してプライベートキーを生成します。次のopensslコマンドを使用し、プライベートキーを生成してフォーマットします。
  17. openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -v1 PBE-SHA1-3DES -out rsa_key.p8
  18. 10パブリックキーを生成します。次のopensslコマンドを使用し、-inオプションで暗号化されたプライベートキーを含むファイル(rsa_key.p8)を参照します。
  19. openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
  20. 11Snowflakeで、パブリックキーをSnowflakeユーザーに割り当てます。次のSQLコマンドを使用します。
  21. alter user INFACMI_User set rsa_public_key='key_value’;
次の手順: 取り込みおよびレプリケーションタスクを作成するときに、タスクウィザードの[ターゲット]ページで[Superpipe]オプションを選択します。必要に応じて、変更データ行がマージされてSnowflakeターゲットテーブルに適用される頻度を制御する[マージ頻度]値を指定することもできます。
Superpipeを使用しない
SnowflakeターゲットにSuperpipe機能を使用しない場合は、ACCOUNTADMINユーザーとして次の手順を実行します。
  1. 1データ取り込みおよびレプリケーションユーザーを作成します。次のSQL文のいずれかを使用します。
  2. create user INFACMI_User password 'Xxxx@xxx';
    または
    replace user INFACMI_User password 'Xxxx@xxx';
  3. 2新しいロールを作成し、そのロールをデータ取り込みおよびレプリケーションユーザーに付与します。以下のSQL文を使用します。
  4. create role INFA_CMI_Role;
    grant role INFA_CMI_Role to user INFACMI_User;
  5. 3Snowflake仮想ウェアハウスの使用権限を新しいロールに付与します。次のSQL文を使用します。
  6. grant usage on warehouse CMIWH to role INFA_CMI_Role;
  7. 4Snowflakeデータベースの使用権限を新しいロールに付与します。次のSQL文を使用します。
  8. grant usage, CREATE SCHEMA on database CMIDB to role INFA_CMI_Role;
  9. 5新しく作成されたユーザーのデフォルトのロールを設定します。次のSQL文を使用します。
  10. alter user INFACMI_User set default_role=INFA_CMI_Role;
また、INFACMI_Userとして新しいスキーマを作成します。
create schema CMISchema;
注: ユーザーのデフォルトロールが取り込みおよびレプリケーションタスクに使用され、必要な権限がない場合、実行時に次のエラーが発行されます。
SQL compilation error: Object does not exist, or operation cannot be performed.

使用に関する考慮事項:

Snowflakeへのプライベート接続の設定

AWSまたはAzureプライベートリンクエンドポイントを使用してSnowflakeにアクセスできます。
AWSまたはAzureプライベートリンクの設定によって、Snowflakeへの接続がAWSまたはAzure内部ネットワークを使用して確立され、パブリックインターネットを介して行われないようにします。
プライベートAWSネットワーク経由でSnowflakeアカウントに接続するには、AWS Private Link and Snowflakeを参照してください。
プライベートAzureネットワーク経由でSnowflakeアカウントに接続するには、Azure Private Link and Snowflakeを参照してください。

Amazon S3、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、およびMicrosoft Fabric OneLakeターゲット上のCDCファイルのデフォルトのディレクトリ構造

データベース取り込みとレプリケーションジョブは、Amazon S3、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、およびMicrosoft Fabric OneLakeターゲットにディレクトリを作成して、変更データ処理に関する情報を格納します。
次のディレクトリ構造がデフォルトでターゲットに作成されます。
Bucket
└───connection_folder
└───job_folder
├───cycle
│ ├───completed
│ │ ├───completed_cycle_folder
│ │ │ └───Cycle-timestamp.csv
│ │ │ ...
│ │ └───completed_cycle_folder
│ │ └───Cycle-timestamp.csv
│ └───contents
│ ├───cycle_folder
│ │ └───Cycle-contents-timestamp.csv
│ │ ...
│ └───cycle_folder
│ └───Cycle-contents-timestamp.csv
└───data
└───table_name
├───data
│ ├───cycle_folder
│ │ └───table_name_timestamp.csv
│ │ ...
│ └───cycle_folder
│ └───table_name_timestamp.csv
└───schema
└───V1
└───table_name.schema
次の表に、デフォルト構造に含まれるディレクトリを示します。
フォルダ
説明
connection_folder
データベース取り込みとレプリケーションオブジェクトが含まれています。このフォルダは、Amazon S3接続プロパティの[フォルダパス]フィールド、Microsoft Azure Data Lake Storage Gen2接続プロパティの[ディレクトリパス]フィールド、またはMicrosoft Fabric OneLake接続プロパティの[レイクハウスパス]フィールドで指定されています。
注: このフォルダは、Google Cloud Storageターゲット用には作成されていません。
job_folder
ジョブ出力ファイルが含まれています。このフォルダは、データベース取り込みとレプリケーションタスクウィザードの[ターゲット]ページの[ディレクトリ]フィールドで指定されています。
cycle/completed
各完了CDCサイクルのサブフォルダが含まれています。各完了サイクルサブフォルダには、完了サイクルファイルが含まれています。
cycle/contents
各CDCサイクルのサブフォルダが含まれます。各サイクルサブフォルダには、サイクルコンテンツファイルが含まれています。
data
各テーブルの出力データファイルとスキーマファイルが含まれています。
data/table_name/schema/V1
スキーマファイルが含まれています。
注: 出力ファイルがParquet形式を使用している場合、データベース取り込みとレプリケーションはスキーマファイルをこのフォルダに保存しません。
data/table_name/data
出力データファイルを生成する各CDCサイクルのサブフォルダが含まれています。

サイクルディレクトリ

データベース取り込みとレプリケーションは、次のパターンを使用してサイクルディレクトリに名前を付けます。
[dt=]yyyy-mm-dd-hh-mm-ss
データベース取り込みとレプリケーションタスクウィザードの[ターゲット]ページの[ディレクトリタグの追加]チェックボックスを選択すると、サイクルフォルダ名に「dt=」プレフィックスが追加されます。

サイクルコンテンツファイル

サイクルコンテンツファイルはcycle/contents/cycle_folderサブディレクトリにあります。サイクルコンテンツファイルには、サイクル中にDMLイベントが発生した各テーブルのレコードが含まれています。サイクル内のテーブルでDML操作が発生しなかった場合、そのテーブルはサイクルコンテンツファイルに表示されません。
データベース取り込みとレプリケーションは、次のパターンを使用してサイクルコンテンツファイルに名前を付けます。
Cycle-contents-timestamp.csv
サイクルコンテンツのcsvファイルには、次の情報が含まれています。

完了サイクルファイル

完了サイクルファイルはcycle/completed/completed_cycle_folderサブディレクトリにあります。データベース取り込みとレプリケーションジョブは、サイクルが完了した後、このサブディレクトリにサイクルファイルを作成します。このファイルが存在しない場合、サイクルはまだ完了していません。
データベース取り込みとレプリケーションは、次のパターンを使用して完了サイクルファイルに名前を付けます。
Cycle-timestamp.csv
完了サイクルのcsvファイルには、次の情報が含まれています。

出力データファイル

データファイルには、次の情報を含むレコードが含まれています。

Amazon S3、Google Cloud Storage、フラットファイル、Microsoft Fabric OneLake、およびADLS Gen2ターゲット上の出力ファイルのカスタムディレクトリ構造

デフォルトの構造を使用しない場合は、初期ロードジョブ、増分ロードジョブ、または初期ロードと増分ロードの組み合わせジョブがAmazon S3、Google Cloud Storage、フラットファイル、またはMicrosoft Azure Data Lake Storage(ADLS)Gen2、またはMicrosoft Fabric OneLakeターゲットに書き込む出力ファイルのカスタムディレクトリ構造を設定できます。

初期ロード

デフォルトでは、初期ロードジョブは出力ファイルを親ディレクトリの下のtablename_timestampサブディレクトリに書き込みます。Amazon S3、フラットファイル、およびADLS Gen2ターゲットについては、タスクウィザードの[ターゲット]ページで[親としての接続ディレクトリ]チェックボックスが選択されている場合、親ディレクトリはターゲット接続プロパティで指定されます。
Google Cloud Storageターゲットでは、親ディレクトリは、タスクウィザードの[ターゲット]ページにある[バケット]フィールドで指定されたバケットコンテナです。
Microsoft Fabric OneLakeターゲットの場合、親ディレクトリは、Microsoft Fabric OneLake接続プロパティの[レイクハウスのパス]フィールドで指定されたパスです。
ニーズに合うようにディレクトリ構造をカスタマイズできます。例えば、初期ロードの場合、環境に合わせてファイルを整理したり、ファイルを見つけやすくしたりするために、ルートディレクトリや、接続プロパティで指定された親ディレクトリとは異なるディレクトリパスに出力ファイルを書き込むことができます。または、すべてのファイルの自動処理を容易にするために、タイムスタンプ付きのサブディレクトリにファイルを別々に書き込むのではなく、テーブルのすべての出力ファイルをテーブル名の付いたディレクトリに直接統合できます。
ディレクトリ構造を設定するには、取り込みタスクウィザードの[ターゲット]ページにある[データディレクトリ]フィールドを使用する必要があります。デフォルト値は{TableName}_{Timestamp}です。これにより、出力ファイルが親ディレクトリの下のtablename_timestampサブディレクトリに書き込まれます。大文字と小文字を区別しないプレースホルダとディレクトリ名の任意の組み合わせで構成されるディレクトリパターンを作成することにより、カスタムディレクトリパスを設定できます。プレースホルダは次のとおりです。
パターンには、次の関数を含めることもできます。
デフォルトでは、ターゲットスキーマもデータディレクトリに書き込まれます。スキーマに別のディレクトリを使用する場合は、[スキーマディレクトリ]フィールドでディレクトリパターンを定義できます。
例1:
Amazon S3ターゲットを使用していて、出力ファイルとターゲットスキーマを、接続プロパティの[フォルダパス]フィールドで指定された親ディレクトリの下にある同じディレクトリに書き込みたいとします。この場合、親ディレクトリはidr-test/DEMO/です。テーブルのすべての出力ファイルを、タイムスタンプなしでテーブル名と一致する名前を持つディレクトリに書き込みたいと考えています。[データディレクトリ]フィールドに入力し、[親としての接続ディレクトリ]チェックボックスを選択する必要があります。次の画像は、タスクウィザードの[ターゲット]ページにあるこの設定を示しています。
この設定に基づき、結果として得られるディレクトリ構造は次のようになります。
例2
Amazon S3ターゲットを使用していて、出力データファイルをカスタムディレクトリパスに書き込み、ターゲットスキーマを別のディレクトリパスに書き込みたいとします。Amazon S3接続プロパティの[フォルダパス]フィールドで指定されたディレクトリをデータディレクトリとスキーマディレクトリの親ディレクトリとして使用するには、[親としての接続ディレクトリ]を選択します。この場合、親ディレクトリはidr-test/DEMO/です。[データディレクトリ]フィールドと[スキーマディレクトリ]フィールドで、data_dirやschema_dirなどの特定のディレクトリ名を使用して、その後にデフォルトの{TableName}_{Timestamp}プレースホルダ値を指定することによって、ディレクトリパターンを定義します。プレースホルダは書き込み先のtablename_timestampディレクトリを作成します。次の画像は、タスクウィザードの[ターゲット]ページにあるこの設定を示しています。
この設定に基づき、結果として得られるデータディレクトリ構造は次のようになります。
結果として得られるスキーマディレクトリ構造は次のようになります。

増分ロード、および初期ロードと増分ロードの組み合わせ

デフォルトでは、増分ロードジョブ、および初期ロードジョブと増分ロードジョブの組み合わせは、サイクルファイルとデータファイルを親ディレクトリの下のサブディレクトリに書き込みます。ただし、カスタムディレクトリ構造を作成して、組織の要件に最も合うようにファイルを整理できます。
この機能は、Amazon S3、Google Cloud Storage、Microsoft Fabric OneLake、またはMicrosoft Azure Data Lake Storage(ADLS)Gen2ターゲットを持つデータベース取り込み増分ロードタスク、および初期ロードと増分ロードの組み合わせタスクに適用されます。
Amazon S3およびADLS Gen2のターゲットについては、タスクウィザードの[ターゲット]ページで[親としての接続ディレクトリ]チェックボックスが選択されている場合、親ディレクトリはターゲット接続プロパティで設定されます。
Google Cloud Storageターゲットでは、親ディレクトリは、タスクウィザードの[ターゲット]ページにある[バケット]フィールドで指定されたバケットコンテナです。
Microsoft Fabric OneLakeターゲットの場合、親ディレクトリは、Microsoft Fabric OneLake接続プロパティの[レイクハウスのパス]フィールドで指定されたパスです。
ニーズに合うようにディレクトリ構造をカスタマイズできます。例えば、データファイルとサイクルファイルは、接続プロパティで指定された親ディレクトリではなく、タスクのターゲットディレクトリに書き込むことができます。または、1)テーブル名を含むサブディレクトリの下にテーブル固有のデータとスキーマファイルを統合する、2)CDCサイクルごとにデータファイルとサマリコンテンツおよび完了したファイルをパーティション化する、または3)リテラル値とプレースホルダを含むパターンを定義することによって完全にカスタマイズされたディレクトリ構造を作成することができます。例えば、SQLタイプの式を実行して時間に基づいてデータを処理する場合は、CDCサイクルごとにパーティション化せずに、すべてのデータファイルをタイムスタンプサブディレクトリに直接書き込むことができます。
増分ロードタスクのカスタムディレクトリ構造を設定するには、取り込みタスクウィザードの[ターゲット]ページで、次のオプションフィールドのいずれかのパターンを定義します。
フィールド
説明
デフォルト
タスクターゲットディレクトリ
増分ロードタスクの出力ファイルを保存するために使用するルートディレクトリの名前。
[親としての接続ディレクトリ]オプションを選択した場合でも、必要に応じてタスクターゲットディレクトリを指定できます。これは親ディレクトリに追加され、データ、スキーマ、サイクル完了、およびサイクルコンテンツディレクトリのルートを形成します。
このフィールドは、次のディレクトリフィールドのいずれかのパターンで{TaskTargetDirectory}プレースホルダが指定されている場合は必須です。
なし
親としての接続ディレクトリ
接続プロパティで指定された親ディレクトリを使用するには、このチェックボックスを選択します。
このフィールドは、Microsoft Fabric OneLakeターゲットでは使用できません。
選択済み
データディレクトリ
データファイルを含むサブディレクトリへのパス。
データファイルとスキーマファイルがCDCサイクルごとにパーティション化されていない場合、ディレクトリパスでは、{TableName}プレースホルダが必要です。
{TaskTargetDirectory}/data/{TableName}/data
スキーマディレクトリ
スキーマファイルをデータディレクトリに保存しない場合は、スキーマファイルを保存するサブディレクトリへのパス。
データファイルとスキーマファイルがCDCサイクルごとにパーティション化されていない場合、ディレクトリパスでは、{TableName}プレースホルダが必要です。
{TaskTargetDirectory}/data/{TableName}/schema
サイクル完了ディレクトリ
サイクル完了ファイルが含まれているディレクトリへのパス。
{TaskTargetDirectory}/cycle/completed
サイクルコンテンツディレクトリ
サイクルコンテンツファイルが含まれているディレクトリへのパス。
{TaskTargetDirectory}/cycle/contents
データディレクトリにサイクルのパーティション化を使用してください
各データディレクトリの下に、CDCサイクルごとにタイムスタンプサブディレクトリが作成されます。
このオプションが選択されていない場合、別のディレクトリ構造を定義しない限り、個々のデータファイルがタイムスタンプなしで同じディレクトリに書き込まれます。
選択済み
サマリディレクトリにサイクルのパーティション化を使用してください
サマリコンテンツサブディレクトリおよび完了サブディレクトリの下に、CDCサイクルごとにタイムスタンプサブディレクトリが作成されます。
選択済み
コンテンツ内の個々のファイルを一覧表示します
コンテンツサブディレクトリの下にある個々のデータファイルを一覧表示します。
[サマリディレクトリにサイクルのパーティション化を使用する]がオフの場合、このオプションはデフォルトで選択されています。タイムスタンプや日付などのプレースホルダを使用してカスタムサブディレクトリを設定できる場合を除き、コンテンツサブディレクトリ内の個々のファイルがすべて一覧表示されます。
[データディレクトリにサイクルのパーティション化を使用する]が選択されている場合でも、必要に応じてこのチェックボックスを選択して、個々のファイルを一覧表示し、CDCサイクルごとにグループ化できます。
[サマリディレクトリにサイクルのパーティション化を使用する]が選択されている場合は選択されません。
[サマリディレクトリにサイクルのパーティション化を使用する]をオフにした場合は選択されます。
ディレクトリパターンは、中括弧{ }で示される大文字と小文字を区別しないプレースホルダと特定のディレクトリ名の任意の組み合わせで構成されます。次のプレースホルダがサポートされています。
注: タイムスタンプ、年、月、および日のプレースホルダは、データ、コンテンツ、および完了ディレクトリのパターンで指定した場合はCDCサイクルの開始時点、スキーマディレクトリパターンで指定した場合はCDCジョブの開始時点を表します。
例1:
タスクウィザードに表示される増分ロードジョブ、または初期ロードジョブと増分ロードジョブの組み合わせのデフォルトのディレクトリ設定を使用するつもりだとします。ターゲットタイプはAmazon S3です。[親としての接続ディレクトリ]チェックボックスがデフォルトで選択されているため、Amazon S3接続プロパティの[フォルダパス]フィールドで指定されている親ディレクトリパスが使用されます。この親ディレクトリはidr-test/dbmi/です。{TaskTargetDirectory}プレースホルダは、後続のディレクトリフィールドのデフォルトパターンで使用されるため、タスクターゲットディレクトリ名(この場合はs3_target)も指定する必要があります。{TableName}プレースホルダはデフォルトのパターンに含まれているため、データディレクトリとスキーマディレクトリ内のファイルはテーブル名でグループ化されます。また、サイクルのパーティション化が有効になっているため、データディレクトリ、スキーマディレクトリ、およびサイクルサマリディレクトリ内のファイルは、CDCサイクルごとにさらに分割されます。次の画像は、指定されたタスクターゲットディレクトリ名を除く、タスクウィザードの[ターゲット]ページのデフォルトの設定を示しています。
この設定に基づき、結果として得られるデータディレクトリ構造は次のようになります。
データフォルダをドリルダウンしてから、そのフォルダ内のテーブル(pgs001_src_allint_init)をドリルダウンすると、データサブディレクトリとスキーマサブディレクトリにアクセスできます。
データフォルダをドリルダウンすると、データファイルのタイムスタンプディレクトリにアクセスできます。
サイクルをドリルダウンすると、サマリコンテンツサブディレクトリと完了サブディレクトリにアクセスできます。
例2
スキーマディレクトリを除くすべてのディレクトリパスにサブディレクトリ「demo」と「d1」を追加する増分ロードジョブ、または初期ロードジョブと増分ロードジョブの組み合わせ用のカスタムディレクトリ構造を作成して、デモ用のファイルを簡単に見つけられるようにしたいと考えています。[親としての接続ディレクトリ]チェックボックスが選択されているため、Amazon S3接続プロパティの[フォルダパス]フィールドで指定されている親ディレクトリパス(idr-test/dbmi/)が使用されます。{TaskTargetDirectory}プレースホルダは、後続のディレクトリフィールドのパターンで使用されるため、タスクターゲットディレクトリも指定する必要があります。データディレクトリとスキーマディレクトリ内のファイルは、テーブル名でグループ化されます。また、サイクルのパーティション化が有効になっているため、データディレクトリ、スキーマディレクトリ、およびサイクルサマリディレクトリ内のファイルは、CDCサイクルごとにさらに分割されます。次の画像は、タスクウィザードの[ターゲット]ページにあるカスタム設定を示しています。
この設定に基づき、結果として得られるデータディレクトリ構造は次のようになります。

サポートされているAvroデータ型

データベース取り込みとレプリケーションは、Avroスキーマが提供するプリミティブデータ型と論理データ型の一部をサポートします。これらのデータ型は、AvroまたはParquet出力形式をサポートするターゲット型に関連しています。
プリミティブデータ型は、単一のデータ値を表します。論理データ型は、派生型を表す追加の属性を持つAvroプリミティブデータ型または複合データ型です。
次の表に、データベース取り込みとレプリケーションがサポートするプリミティブAvroデータ型を示します。
プリミティブデータ型
説明
INT
32ビット符号付き整数
Long
64ビット符号付き整数
FLOAT
単精度(32ビット)IEEE 754浮動小数点数
DOUBLE
倍精度(64ビット)IEEE 754浮動小数点数
BYTES
8ビットの符号なしバイトのシーケンス
STRING
Unicode文字シーケンス
次の表に、データベース取り込みとレプリケーションがサポートする論理Avroデータ型を示します。
論理データ型
説明
DECIMAL
スケーリングされていない形式の任意精度の符号付き10進数×10 -scale
DATE
時刻またはタイムゾーンへの参照を含まない日付。
TIME
タイムゾーンまたは日付への参照を含まない、1ミリ秒または1マイクロ秒の精度の時刻。
TIMESTAMP
特定のカレンダーまたはタイムゾーンへの参照を含まない、1ミリ秒または1マイクロ秒の精度の日時値。
Databricksターゲットの場合、データベース取り込みとレプリケーションは中間Parquetファイルで次のデータ型を使用しません。