データセットの管理
ランディング、ストレージ、変換、データ マートレプリケーションのデータ タスクに含まれるデータセットを管理して、変換の作成、データのフィルタリング、列の追加ができます。
含まれるデータセットは、 [デザイン] ビューの [データセット] の下に表示されます。列ピッカー () を使用して、表示する列を選択できます。
変換ルールと明示的な変換
グローバル変換と明示的な変換の両方を実行できます。
変換ルール
グローバル変換は、スコープにワイルド カードとして% を使用し、一致するすべてのデータセットに適用する変換ルールを作成することにより実行できます。
-
[ルール]、 [ルールを追加] の順にクリックして、新しい変換ルールを作成します。
詳細については、「データセットを変換するルールの作成」を参照してください。
変換ルールは、影響を受ける属性の角が濃い紫色で示されます。
明示的な変換
明示的な変換は、次のときに作成されます。
-
[編集] を使用して列の属性を変更するとき
-
データセットで [名前の変更] を使用するとき。
-
列を追加するとき。
明示的な変換は、グローバル変換を上書きし、影響を受ける属性の角が薄い紫色で示されます。
データセット モデル
データセットは、タスク タイプとタスクの操作に応じて、ソースベースまたはターゲットベースのいずれかになります。使用するデータセット モデルは、ソース変更時のパイプラインの動作や、実行できる操作に影響します。
-
ソースベースのデータセット
データセットはソース データセットをベースにしており、メタデータの変更のみが保持されます。ソースデータの変更は自動的に適用され、すべてのダウンストリームタスクに変更が生じる可能性があります。列の順序の変更、またはソース データセットの変更はできません。
ランディング、ストレージ、登録済みデータ、レプリケーション、データ レイクへのランディングのタスク タイプでは、常にソースベースのデータセット モデルが使用されます。
-
ターゲットベースのデータセット
データセットは、ターゲットのメタデータに基づいています。ソースに対して列が追加または削除されても、次のダウンストリーム タスクに自動的に適用されるわけではありません。列の順序の変更、およびデータ ソースの変更ができます。つまり、タスクはより自己完結的になり、ソースの変更の影響を制御できるようになります。
変換、およびデータ マートのタスク タイプでは、ターゲットベースのデータセット モデルを使用できます。操作によっては、変換タスクにソースベースのモデルが使用される場合があります。
-
SQL 変換または変換フローが列選択を実行する場合、データセットはターゲットベースになります。たとえば、SQL 変換で SELECT A, B, C from XYZ を使用する場合、または変換フローで [列を選択] プロセッサーを使用する場合などです。
-
既定の列が維持されている場合、データセットはソースベースになります。たとえば、SQL 変換で SELECT * from XYZ を使用する場合などです。
-
ソースベース モデルからターゲットベース モデルへのプロジェクトの更新
該当する場合、既存のプロジェクトは、ターゲットベースのデータセット モデルに更新されます。プロジェクトを初めて開くときに、更新プロセスが開始されます。異なるデータセットモデルを持つプロジェクトのインポートとエクスポートには、いくつかの考慮事項があります。
-
ソースベース モデルを持つプロジェクトをターゲットベース モデルを持つプロジェクトにインポートすることはできません。
ソースベースのモデルを含むプロジェクトを新しいプロジェクトにインポートし、新しいプロジェクトを更新して、結果のプロジェクトをエクスポートします。これで、このプロジェクトをターゲットベース モデルを使用してプロジェクトに再インポートできるようになりました。
-
ターゲットベース モデルを持つプロジェクトをソースベース モデルを持つプロジェクトにインポートすることはできません。
ターゲットベース モデルを持つプロジェクトをインポートする前に、プロジェクトをターゲットベース モデルに更新します。
データセットのフィルタリング
必要に応じて、データをフィルタリングして行のサブセットを作成できます。
-
[フィルター] をクリックします。
詳細については、「データセットのフィルタリング」を参照してください。
データセットの名前の変更
データセットの名前を変更できます。
-
データセット上で [] をクリックし、次に [編集] をクリックします。
列の追加
必要に応じて、行レベルの変換で列を追加できます。
-
[列を追加] をクリックします
詳細については、「データセットへの列の追加」を参照してください。
列の編集
列を選択して [編集] をクリックすると、列のプロパティを編集できます。
-
名前
-
キー
主キーとなる列を設定します。[キー] 列で選択または選択解除して、キーを設定することもできます。
-
Null 可能
-
データ型
列のデータ型を設定します。一部のデータ型では、 [長さ] などの追加のプロパティを設定できます。
データ型の変更による影響を理解する
データ型のサイズの変更、または別のデータ型への切り替えには、次の 2 つの一般的なユース ケースがあります。
- 現在のデータ型に適合しないデータを取り込む。
- より高い数値精度が求められる。例: SMALLINT を DECIMAL (p,s) に変更。
ほとんどの場合、データ型を変更すると ALTER TABLE 操作が実行され、データの損失を防ぐことができます。たとえば、以前のデータ型が STRING (25) で、新しいデータ型が STRING (50) の場合、新しいデータ型の列のデータは問題なく更新されます。ただし、場合によっては、データ型を変更するとテーブルが削除され、再作成されます。たとえば、以前の列のデータ型が NUMBER で、それを DATE に変更すると、数値を日付に変換することはできないため、テーブルはドロップされ、再作成されます。同様に、ターゲット プラットフォームが ALTER テーブル操作 (Databricks など) をサポートしていない場合、テーブルはドロップされ、再作成されます。
テーブルを変更することは理論的には可能ですが、根本的な複雑さのため、データ タスクによってテーブルはドロップされ、再作成されます。最後に、実際のデータ損失ではなく潜在的なデータ損失によって、ドロップと再作成の操作がトリガーされる場合もあります。たとえば、STRING(25) を STRING(1) に変更すると、取り込まれたデータが STRING(1) に収まらない場合はデータ損失が発生します。ただし、STRING(25) には常に 1 文字のみが含まれる可能性があるため、実際にはデータ損失は発生しませんが、データ損失の可能性があるため、テーブルはドロップされ、再作成されます。
ターゲットプラットフォームにかかわらず、テーブルをドロップして再作成する必要があるデータ型の変更
次のデータ型を変更すると、テーブルがドロップされ、再作成されます。
- BYTES
- BLOB
- CLOB
- NCLOB
テーブルをドロップして再作成することなく、データ型のサイズの変更をサポートするターゲット プラットフォーム
Snowflake、Google BigQuery、Amazon Redshift、Microsoft SQL Server、Azure Synapse Analytics を使用する場合、テーブルをドロップして再作成することなく、特定のデータ型のサイズを変更できます。次の表は、前述の各プラットフォームでサポートされているデータ型を示しています。
データ型 | Snowflake | Google BigQuery | Azure Synapse Analytics | Microsoft SQL Server | Amazon Redshift |
---|---|---|---|---|---|
INT1 |
いいえ |
はい |
はい |
はい |
いいえ |
INT2 |
いいえ |
はい |
はい |
はい |
いいえ |
INT4 |
いいえ |
はい |
はい |
はい |
いいえ |
INT8 |
いいえ |
はい |
はい |
はい |
いいえ |
REAL4 |
いいえ |
いいえ |
はい |
はい |
いいえ |
REAL8 |
いいえ |
いいえ |
はい |
はい |
いいえ |
UINT1 |
いいえ |
はい |
はい |
はい |
いいえ |
UINT2 |
いいえ |
はい |
はい |
はい |
いいえ |
UNIT4 |
いいえ |
はい |
はい |
はい |
いいえ |
UNIT8 |
いいえ |
はい |
はい |
はい |
いいえ |
NUMERIC |
はい |
はい |
はい |
はい |
いいえ |
STRING |
はい |
はい |
はい |
はい |
はい |
WSTRING |
いいえ |
はい |
はい |
はい |
いいえ |
テーブルをドロップして再作成することなく、データ型を STRING に変更することをサポートするターゲット プラットフォーム
データを Microsoft SQL Server および Azure Synapse Analytics に移動する場合、テーブルをドロップして再作成することなく、次のデータ型を STRING に変更できます。
- BOOLEAN
- DATE
- TIME
- DATETIME
- INT1
- INT2
- INT4
- INT8
- REAL4
- REAL8
- UINT1
- UINT2
- UNIT4
- UNIT8
- NUMERIC
- WSTRING (Azure Synapse Analytics でのみサポート)
列の削除
データセットから 1 つまたは複数の列を削除できます。
-
削除する列を選択し、 [削除] をクリックします。
削除された列を表示するには、 [削除された列を表示] をクリックします。削除された列は、取り消し線付きのテキストで示されます。削除された列を選択し、 [元に戻す] をクリックすると、削除された列を復元できます。
列への明示的な変更を元に戻す
1 つまたは複数の列に対する、すべての明示的な変更を元に戻すことができます。
-
変更を元に戻す列を選択し、 [元に戻す] をクリックします。
グローバル変換ルールからの変更は元に戻すことができません。
追加した列を元に戻すと、その列は削除されます。
データセットの設定
データセットの設定を変更できます。既定の設定ではデータ アセットの設定を継承しますが、設定を明示的にオンまたはオフに変更することもできます。
-
データセットで をクリックしてから、 [設定] をクリックします。
データの表示
データのサンプルを表示して、データ パイプラインを設計しながらデータの形状を表示して検証することができます。
以下の要件を満たす必要があります。
-
Administration のテナント レベルでデータの表示が有効になっている。
[設定] > [機能コントロール] > [データ統合 でのデータ表示] が有効になっている。
-
接続が常駐するスペースで [データ表示可能] のロールが割り当てられている。
-
プロジェクトが常駐するスペースで [表示可能] の役割が割り当てられています。
[設計] ビュー内の [データセット] タブでサンプル データを表示するには、
-
[物理オブジェクト] にある [データを表示] をクリックします。
データのサンプルが表示されます。[列の数] でサンプルに含めるデータ列の数を設定できます。
データセットとテーブルの間を変更するには、
-
[データセット] を選択して、データの理論表現を表示します。
-
[物理オブジェクト] 選択して、データベースの物理表現をテーブルおよびビューとして表示します。
ニュース メモ物理表現がまだ作成されていない場合、このオプションは使用できません。
サンプル データをフィルターするには、2 つの方法があります。
-
を使用して、取得するサンプル データをフィルターします。
例えば、フィルター ${OrderYear}>2023 を使用し、[列の数] を 10 に設定すると、2024 年から 10 個の注文のサンプルを取得します。
-
特定の列でサンプル データをフィルターします。
これは、既存のサンプル データのみに作用します。 を使用して 2024 年の注文のみを含め、列フィルターで 2022 年の注文を表示するように設定すると、サンプルは空になります。
データ サンプルを特定の列順に並べ替えることもできます。並べ替えは、既存のサンプル データのみに作用します。 を使用して 2024 年の注文のみを含め、列順序を逆にしても、サンプル データには 2024 年の注文のみが含まれます。
データ ビューの列を非表示にすることができます。
-
単一列を非表示にするには、列で をクリックしてから、[列を非表示] をクリックします。
-
複数列を非表示にするには、任意の列で をクリックしてから、[列を表示] をクリックします。これにより、ビュー内にあるすべての列の可視性を制御できます。
データセットの検証と調整
データ タスクに含まれるすべてのデータセットを検証できます。
[Validate and adjust (検証と調整)] を展開して、すべての検証エラーと設計変更を確認します。
データセットの検証
-
[データセットを検証する] をクリックして、データセットを検証します。
検証には、次のチェックが含まれます。
-
すべてのテーブルに主キーがあること
-
不足している属性がないこと。
-
重複するテーブル名または列名がないこと。
ソースと比較した設計変更のリストも表示されます。
-
追加されたテーブルと列
-
削除されたテーブルと列
-
名前が変更されたテーブルと列
-
変更された主キーとデータ型
[Validate and adjust (検証と調整)] を展開して、すべての検証エラーと設計変更を確認します。
-
検証エラーを修正してから、データ セットを再度検証します。
-
主キーやデータ型の変更を除いて、ほとんどの設計変更は自動的に調整できます。その場合には、データセットを同期する必要があります。
データセットの準備
可能な場合は、データを損失することなくデータセットを準備して設計変更を調整できます。データを損失することなく設計変更を調整できない場合は、データの損失ありでソースからテーブルを再作成するかどうかを選択するオプションが表示されます。
これには、タスクを停止する必要があります。
-
、[準備] の順番でクリックします。
データセットが準備されたら、ストレージ タスクを再開する前にデータセットを検証します。
データセットの再作成
ソースからデータセットを再作成することができます。データセットを再作成すると、データが失われます。ソース データがある限り、ソースデータをソースからリロードすることができます。
これには、タスクを停止する必要があります。
-
をクリックしてから、 [再作成] をクリックします。
制限事項
-
Google BigQuery では、列を削除または名前を変更すると、テーブルが再作成され、データが失われます。