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

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

アプリケーション取り込みとレプリケーションがサポートするターゲットは、アプリケーション取り込みとレプリケーションタスクに指定されているソースによって異なります。
次の表に、各ロードタイプでサポートされているターゲットタイプ(S)を示します。
ターゲットタイプ
初期ロード
増分ロード
初期ロードと増分ロード
Amazon Redshift
S
S
S
Amazon S3
S
S
S
Apache Kafka
-
S
-
Databricks
S
S
S
Google BigQuery
S
S
S
Google Cloud Storage
S
S
S
Microsoft Azure Data Lake Storage Gen2
S
S
S
Microsoft Azure SQL Database
S
S
S
Microsoft SQL Server
S
S
S
Microsoft Azure Synapse Analytics
S
S
S
Microsoft Fabric OneLake
S
S
S
Oracle
S
S
S
Oracle Cloud Infrastructure(OCI)Object Storage
S
S
S
PostgreSQL
S
S
S
Snowflake
S
S
S
次の表に、アプリケーション取り込みとレプリケーションが各ソースタイプに対してサポートするターゲットを示します。
ソースタイプ
サポートされるターゲットタイプ
Adobe Analytics
Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
Google Analytics
Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
Marketo
Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
Microsoft Dynamics 365
Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Azure SQL Database、Microsoft SQL Server、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
NetSuite
Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
Oracle Fusion Cloud
  • - REST APIの使用 - Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Microsoft Azure SQL Database、Microsoft SQL Server、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
  • - BICCの使用 - Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Microsoft Azure SQL Database、Microsoft SQL Server、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
Salesforce
Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Oracle、Microsoft Azure SQL Database、Microsoft SQL Server、Microsoft Fabric OneLake、およびSnowflake
Salesforce Marketing Cloud
Amazon Redshift、Amazon S3、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
SAP
  • - SAP ODP Extractorコネクタの使用 - Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
  • - SAP Mass Ingestionコネクタの使用 - Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Azure SQL Database、Microsoft SQL Server、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、PostgreSQL、およびSnowflake
  • - SAP OData V2コネクタの使用 - Snowflake
ServiceNow
Amazon Redshift、Apache Kafka、Databricks、Amazon S3、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
Workday
  • - SOAP。Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
  • - RaaS。Amazon Redshift、Amazon S3、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake(初期ロードの場合)
Zendesk
Amazon Redshift、Amazon S3、Apache Kafka、Databricks、Google BigQuery、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Microsoft Azure Synapse Analytics、Microsoft Fabric OneLake、Oracle、Oracle Cloud Infrastructure Object Storage、およびSnowflake
ターゲットタイプに使用するコネクタを判断するには、「コネクタと接続」 > 「アプリケーション取り込みおよびレプリケーションコネクタ」を参照してください。

Amazon Redshiftターゲットのガイドライン

Amazon Redshiftターゲットを使用する場合は、次のガイドラインを考慮してください。

ターゲットの準備

Redshiftデータベースユーザーが、アプリケーション取り込みとレプリケーションに必要な次の最小限の権限を持っていることを確認します。
grant create on database <database_name> to <username>;
grant create on schema <schema_name> to <username>;
Redshiftのロールベースのアクセス制御(RBAC)を使用する場合は、これらの権限を適切なロールに付与します。これらの権限により、ユーザーはタスクのデプロイ、実行時のターゲットテーブルの作成、ジョブの再デプロイ、再同期、再開など、アプリケーション取り込みとレプリケーションのすべての操作を実行できます。
データベースとスキーマへのアクセスに必要な権限をユーザーが持っているかどうかを確認するには、次のシステム関数を使用します。
select has_database_privilege('<username>', '<databaseName>', 'create');
select has_schema_privilege('<username>', '<schemaName>', 'create');
注:
新しいデータベースユーザーを作成する場合は、既存のデータベース、スキーマ、およびテーブルオブジェクトにアクセスするために必要な権限をそのユーザーに明示的に付与する必要があります。

使用に関する考慮事項:

Amazon S3、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、およびOracle Cloud Object Storageターゲットのガイドライン

Amazon S3、Google Cloud Storage、Microsoft Azure Data Lake Storage Gen2、Oracle Cloud Infrastructure(OCI)Object Storageターゲットを使用する場合は、次のガイドラインを考慮してください。

Apache Kafkaターゲットのガイドライン

Apache Kafkaターゲットを使用する場合は、次のガイドラインを考慮してください。

Databricksターゲットのガイドライン

Databricksターゲットを使用する場合は、次のガイドラインを考慮してください。

Google BigQueryターゲットのガイドライン

Google BigQueryターゲットを使用する場合は、次のガイドラインを考慮してください。

Microsoft Azure Synapse Analyticsターゲットのガイドライン

Microsoft Azure Synapse Analyticsターゲットを使用する場合は、次のガイドラインを考慮してください。

Microsoft Azure SQL DatabaseターゲットおよびSQL Serverターゲットのガイドライン

すべてのロードタイプに対してMicrosoft Azure SQL DatabaseターゲットおよびMicrosoft SQL Serverターゲットを、SAP(SAP Mass Ingestionコネクタを使用)、Microsoft Dynamics 365、Oracle Fusion Cloud、およびSalesforceソースとともに使用する場合は、次のガイドラインを考慮してください。Microsoft SQL Databaseターゲットには、オンプレミス、SQL Server用のMicrosoft Amazon RDS(リレーショナルデータベースサービス)、Azure SQL Managed Instanceターゲットが含まれます。
次のリストは、Microsoft SQL DatabaseターゲットおよびMicrosoft SQL Serveターゲットの準備および使用に関する考慮事項を示しています。

Microsoft Fabric OneLakeターゲットに関するガイドライン

Microsoft Fabric OneLakeターゲットを使用する場合は、次のガイドラインを考慮してください。

Microsoft Fabric OneLakeにデータをレプリケートするためのオープンミラーリングの使用

オープンミラーリングにより、Microsoft Fabric OneLake内のミラーリングされたデータベースへのほぼリアルタイムのレプリケーションが可能になります。
データは最初に、Microsoft Fabric OneLakeのミラーリングされたデータベースに関連付けられたランディングゾーンにレプリケートされます。このレプリケートされたデータはParquetファイル形式で保存され、Microsoft FabricはOneLakeのランディングゾーンから読み取りを行って、ミラーリングされたデータベース内のテーブルを作成または更新します。ミラーリングにより、ソースシステムでの変更が迅速にMicrosoft Fabricに反映され、ミラーリングデータを常に最新の状態に保ちながら、迅速な分析やレポート作成を行うことができるようになります。

ターゲットの準備

Microsoft Fabric OneLakeにデータを読み込むタスクでミラーリングを有効にする前に、次の作業を実行します。
  1. 1Microsoft Fabricのワークスペースにミラーリングされたデータベースを作成します。
  2. OneLakeは、ミラーリングされたデータベース名とワークスペースに基づいて、固有のランディングゾーンのURLを生成します。タスク設定で使用するために、このランディングゾーンのURLを控えておいてください。
  3. 2ミラーリングされたデータベースを作成した後に、レプリケーションが自動的に開始されます。ミラーリングされたデータベース設定を確認し、レプリケーションの状態が実行されているかを確認します。
ミラーリングされたデータベースの作成に関する詳細は、Microsoft Fabric OneLakeのマニュアルを参照してください。

タスクの設定

Microsoft Fabric OneLakeにデータをロードする取り込みおよびレプリケーションタスクを設定するには、次の手順を実行します。

ランディングゾーンのファイル構造

タスクを実行すると、レプリケートされたデータは、OneLakeランディングゾーン内の次のスキーマおよびテーブルフォルダ構成でParquetファイルに保存されます: <landing‑zone>/<schema>/<table>/
選択したそれぞれのソーステーブルには、次のファイルを含む専用のフォルダがあります。
増分変更の場合、Parquetファイルのそれぞれのレコードには、DML操作のタイプ(挿入、更新、または削除)を示す操作行マーカーが含まれます。このマーカーは、infa_operation_typeメタデータカラムから取得されます。これにより、Microsoft Fabric OneLakeによる変更の適用が適切に行われるようになります。
Microsoft Fabric OneLakeは、ランディングゾーンからこれらのParquetファイルを読み取り、ミラーリングされたデータベース内のテーブルを作成または更新します。

制限事項

オープンミラーリングを有効にすると、次のような制限が適用されます。

Oracleターゲットのガイドライン

ターゲットの準備

使用に関する考慮事項:

PostgreSQLターゲットのガイドライン

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と次のいずれかの暗号を使用してプライベートキーを生成します。
  17. 次のopensslコマンドを使用し、プライベートキーを生成してフォーマットします。
  18. openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -v1 AES-256-CBC -out rsa_key.p8
  19. 10パブリックキーを生成します。次のopensslコマンドを使用し、-inオプションで暗号化されたプライベートキーを含むファイル(rsa_key.p8)を参照します。
  20. openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
  21. 11Snowflakeで、パブリックキーをSnowflakeユーザーに割り当てます。次のSQLコマンドを使用します。
  22. 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管理のIcebergテーブルの場合
Superpipeオプションを使用するかどうかにかかわらず、データとメタデータをSnowflakeテーブルではなく、外部クラウドストレージ内のSnowflake管理のIcebergテーブルに保存するように選択できます。Icebergテーブルを使用するように準備するには、次のタスクを実行します。

使用のガイドライン

Snowflake管理のIcebergテーブルを使用した外部クラウドストレージでのデータ保存

アプリケーション取り込みおよびレプリケーションジョブを有効にして、Snowflakeテーブルではなく、外部クラウドの場所にあるSnowflake管理のIcebergテーブルにデータとメタデータを保存できます。外部の場所は、Amazon S3、Google Cloud Storage、またはAzure Storageに指定することができます。
オープン形式のデータを外部に保存すると、次のメリットがあります。
アプリケーション取り込みおよびレプリケーションは、Icebergテーブルの使用が有効になっている取り込みおよびレプリケーションタスクをデプロイするときに、Snowflake管理のIcebergテーブルを自動的に作成します。Icebergテーブルを手動で作成する必要はありません。
IcebergテーブルのメタデータとカタログはSnowflakeが管理します。Snowflakeは、IDおよびアクセス管理(IAM)情報を格納する外部ボリュームを使用して、外部ストレージの場所に接続します。Snowflakeで、事前に外部ボリュームを作成して設定する必要があります。詳細については、「Snowflakeターゲットのガイドライン」の「ターゲットの準備」を参照してください。
取り込みおよびレプリケーションタスクを設定する場合は、次のターゲットカスタムプロパティを指定して、Snowflake管理のIcebergテーブルを使用できるようにします。
取り込みおよびレプリケーションタスクでは、任意のロードタイプ、任意の適用モード、およびスキーマドリフトを使用できます。Superpipeオプションは許可されていますが、必須ではありません。
Icebergテーブルの使用に関しては、次の制限が適用されます。

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
└───object_name
├───Data
│ ├───cycle_folder
│ │ └───object_name_timestamp.csv
│ │ ...
│ └───cycle_folder
│ └───object_name_timestamp.csv
└───Schema
└───V1
└───object_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/object_name/Schema/V1
スキーマファイルが含まれています。
注:
出力ファイルがParquet形式を使用している場合、アプリケーション取り込みとレプリケーションはスキーマファイルをこのフォルダに保存しません。
data/object_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サブディレクトリに書き込まれます。大文字と小文字を区別しないプレースホルダとディレクトリ名の任意の組み合わせで構成されるディレクトリパターンを作成することにより、カスタムディレクトリパスを設定できます。
デフォルトでは、ターゲットスキーマもデータディレクトリに書き込まれます。スキーマに別のディレクトリを使用する場合は、[スキーマディレクトリ]フィールドでディレクトリパターンを定義することもできます。
データまたはスキーマを格納するためのディレクトリパターンを手動で入力するか、または[データディレクトリ]フィールドと[スキーマディレクトリ]フィールドの横にある[編集]アイコンを使用して、定義済みのプレースホルダを使用してディレクトリパターンを指定できます。
次の表に、データとスキーマのディレクトリパスの構築に使用できるプレースホルダを示します。
パスタイプ
フォルダパス
フォルダ名を入力するか、変数を使用してフォルダ名を作成します。例えば、日付、スキーマ、テーブル、ロード時間でデータを整理するには、「{yyyy}/{mm}/{dd}/{SchemaName}/{TableName}/{Timestamp}」と入力します。
タイムスタンプ
次の値から選択できます。
  • - 初期ロードジョブがターゲットへのデータの転送を開始した日付と時刻は{Timestamp}(yyyymmdd_hhmissms形式)。
  • - ターゲットスキーマ名は{Schema}。
  • - 2桁の年は{yy}。
  • - 4桁の年は{yyyy}。
  • - 2桁の月の値は{mm}。
  • - 月の2桁の日は{dd}。
スキーマ名
次の値から選択できます。
  • - ターゲットスキーマ名は{SchemaName}。
  • - toUpper(SchemaName)は、かっこ内のプレースホルダで表される値を大文字にするのに使用します。
  • - toLower(SchemaName)は、かっこ内のプレースホルダで表される値を小文字にするのに使用します。
テーブル名
次の値から選択できます。
  • - ターゲットテーブル名は{TableName}。
  • - toUpper(TableName)は、かっこ内のプレースホルダで表される値を大文字にするのに使用します。
  • - toLower(TableName)は、かっこ内のプレースホルダで表される値を小文字にするのに使用します。
例1:
Amazon S3ターゲットを使用していて、出力ファイルとターゲットスキーマを、接続プロパティの[フォルダパス]フィールドで指定された親ディレクトリの下にある同じディレクトリに書き込みたいとします。この場合、親ディレクトリはidr-test/DEMO/です。テーブルのすべての出力ファイルを、タイムスタンプなしでテーブル名と一致する名前を持つディレクトリに書き込みたいと考えています。[データディレクトリ]フィールドに入力し、[親としての接続ディレクトリ]チェックボックスを選択する必要があります。
この設定に基づき、結果として得られるディレクトリ構造は次のようになります。
例2
Amazon S3ターゲットを使用していて、出力データファイルをカスタムディレクトリパスに書き込み、ターゲットスキーマを別のディレクトリパスに書き込みたいとします。Amazon S3接続プロパティの[フォルダパス]フィールドで指定されたディレクトリをデータディレクトリとスキーマディレクトリの親ディレクトリとして使用するには、[親としての接続ディレクトリ]を選択します。この場合、親ディレクトリはidr-test/DEMO/です。[データディレクトリ]フィールドと[スキーマディレクトリ]フィールドで、data_dirやschema_dirなどの特定のディレクトリ名を使用して、その後にデフォルトの{TableName}_{Timestamp}プレースホルダ値を指定することによって、ディレクトリパターンを定義します。プレースホルダは書き込み先のtablename_timestampディレクトリを作成します。
この設定に基づき、結果として得られるデータディレクトリ構造は次のようになります。
結果として得られるスキーマディレクトリ構造は次のようになります。

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

デフォルトでは、増分ロードジョブ、および初期ロードジョブと増分ロードジョブの組み合わせは、サイクルファイルとデータファイルを親ディレクトリの下のサブディレクトリに書き込みます。ただし、カスタムディレクトリ構造を作成して、組織の要件に最も合うようにファイルを整理できます。
この機能は、Salesforceソースおよび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サイクルごとにグループ化できます。
[サマリディレクトリにサイクルのパーティション化を使用する]が選択されている場合は選択されません。
[サマリディレクトリにサイクルのパーティション化を使用する]をオフにした場合は選択されます。
ディレクトリパターンは、中括弧{ }で示される大文字と小文字を区別しないプレースホルダと特定のディレクトリ名の任意の組み合わせで構成できます。カスタムデータディレクトリ式またはスキーマディレクトリ式を指定するには、フィールドにある[編集]アイコンを使用して、リスト表示されたプレースホルダからディレクトリパターンを選択します。
パスタイプ
フォルダパス
接続プロパティで指定したS3フォルダパスの代わりに使用する、ターゲット上のタスク固有のベースディレクトリを表す{TaskTargetDirectory}を入力します。
タイムスタンプ
次の値から選択できます。
  • - 日付と時刻を表す{Timestamp}、形式はyyyymmdd_hhmissms
  • - ターゲットスキーマ名は{Schema}。
  • - 2桁の年は{yy}。
  • - 4桁の年は{yyyy}。
  • - 2桁の月の値は{mm}。
  • - 月の2桁の日は{dd}。
ディレクトリパターンで{Timestamp}、{yy}、{yyyy}、{mm}、{dd}を使用して、データを整理するためにディレクトリ名に特定の日付と時刻の情報を挿入します。データ、コンテンツ、および完了したディレクトリのディレクトリパターンでこれらのプレースホルダを指定すると、これらのプレースホルダはCDCサイクルが開始された時刻を表します。スキーマディレクトリの場合、これらのプレースホルダは、サイクルだけでなく、CDCジョブ全体が開始された時刻を表します。
スキーマ名
次の値から選択できます。
  • - ターゲットスキーマ名は{SchemaName}。
  • - toUpper(SchemaName)は、かっこ内のプレースホルダで表される値を大文字にするのに使用します。
  • - toLower(SchemaName)は、かっこ内のプレースホルダで表される値を小文字にするのに使用します。
テーブル名
次の値から選択できます。
  • - ターゲットテーブル名は{TableName}。
  • - toUpper(TableName)は、かっこ内のプレースホルダで表される値を大文字にするのに使用します。
  • - toLower(TableName)は、かっこ内のプレースホルダで表される値を小文字にするのに使用します。
例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プリミティブ型または複合型です。このトピックは、AvroまたはParquetの出力形式をサポートするすべてのターゲットタイプに適用されます。
次の表に、アプリケーション取り込みとレプリケーションがサポートするプリミティブ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マイクロ秒の精度の日時値。