ステップ
データハブのステップの概要。
ステップについて
Flowは、データを処理または拡張する1つあるいは複数のステップで構成されます。
ステップには、次のいずれかのタイプがあります。
ステップ | ステップへの入力 | ステップの内容 | ステップの結果 |
---|---|---|---|
読み込み | 1つのソースからの生データ | 各項目をエンベロープでラップし、ラップされた項目をドキュメントとしてSTAGINGデータベースに保存します。 | STAGINGデータベースに読み込まれたデータ |
マッピング |
|
エンティティモデルのフィールドをソースデータの対応するフィールドに関連付け、マッピングされたデータをFINALデータベースに保存します。 | FINALデータベースのマッピングされたデータ |
マスタリング | FINALデータベースのマッピングされたデータ | データ内で重複している可能性のあるドキュメントをチェックし、指定した条件に基づいて管理します。 | 2つのドキュメントの比較で、指定した重複条件を完全に満たしている場合、2つの重複ドキュメントに基づく新しいドキュメントがFINALデータベースに作成され、古いエントリはアーカイブ済みとしてタグ付けされますが、FINALデータベースには残ります。 2つのドキュメントの比較で、マッチする可能性がある条件(明確にマッチしない条件)の指定を満たしている場合、通知ドキュメントがFINALデータベースに作成されます。この通知には、2つのドキュメントに関する情報が含まれています。 それ以外の場合、変更は行われません。 |
Custom | カスタムコードによって異なる | ステップ定義で指定されたカスタムコードを実行します。カスタムコードを使用すると、データをさらに処理、強化、または検証できます。また、MarkLogicデータハブに含まれるデフォルトの処理をカスタムステップで置き換えることもできます。例えば、データが複雑すぎてデフォルトのマッピングステップで処理できない場合は、カスタムステップでデータをハーモナイズできます。 | カスタムコードによって異なる |
注:STAGINGデータベースとFINALデータベースは、読み込まれたデータとハーモナイズされたデータのデフォルトのストレージですが、どのデータベースでも使用できます。
Flowのステップの選択
ステップのさまざまな組み合わせを使用して、必要な数のFlowを作成できます。
ただし、事前定義された各タイプのステップ(読み込み、マッピング、およびマスタリング)には、通常は別のステップの出力である独自の前提条件セットがあります。例えば次のことができます。
- マッピングステップを設定して実行する前に、データベースにエンベロープデータ(読み込みステップの結果)が必要です。
- マッピングステップを実行する前に、マッピングデータ(マッピングステップの結果)が必要で、比較するすべてのデータを同じエンティティモデルにマッピングする必要があります。
基本的に、読み込みステップはマッピングステップの前に実行する必要があります。また、マッピングステップはマスタリングステップの前に実行する必要があります。ただし、これらのステップは同じFlowにある必要はありません。
Flowには、任意の組み合わせのステップ(読み込み、マッピング、マスタリング、カスタム)を含めることができます。例えば、読み込みのみのFlowを1つ作成し、マッピングとマスタリングの両方のステップを含む別のFlowを作成できます。
ヒント:各データソースを読み込むための個別のFlowを作成します。例えば次のことができます。
- FlowAは、ニューヨークの子会社から人事データを読み込み、読み込んだデータをエンティティモデルにマッピングできます。
- FlowBは、サンフランシスコの子会社からの人事データに対して同様の処理ができます。
- 読み込み
- STAGINGデータベースにデータを読み込む必要がある場合は、読み込みステップを追加します。
- データがすでにエンベロープにラップされ、STAGINGデータベースに保存されている場合は、スキップします。
- マッピング
- ソースのフィールドがエンティティモデルのプロパティと1対1に対応していない場合は、ソースとエンティティモデル間のマッピングを処理するカスタムモジュールへのリンクを含むカスタムステップを追加します。
- 計算などの追加処理が必要なソースフィールドの場合は、計算を実行するカスタムモジュールへのリンクを含むカスタムステップを追加します。
- XMLドキュメントをマッピングする場合は、XMLドキュメントを処理するカスタムモジュールへのリンクを含むカスタムステップを追加します。
- 非フラットJSONドキュメント(例えば一部のプロパティがネストされているドキュメント)をマッピングする場合は、複雑なJSONドキュメントを処理するカスタムモジュールへのリンクを含むカスタムステップを追加します。
- ソースでシンプルな型変換よりも複雑な変換を必要とする場合は、変換を実行するカスタムモジュールへのリンクを含むカスタムステップを追加します。
- データがすでにエンティティモデルに対してマッピングされ、FINALデータベースに保存されている場合は、スキップします。
- それ以外の場合は、マッピングステップを追加します。
- マスター管理
- データの重複を保持する場合は、スキップします。
- MarkLogicのスマートマスタリング技術を使用して、重複するドキュメントを特定してマージする場合は、マスタリングステップを追加します。
- それ以外の場合は、重複するドキュメントを識別し、必要に応じて処理するカスタムモジュールへのリンクを含むカスタムステップを追加します。
注:事前定義されたステップをカスタムステップで置き換えようとしていない場合は、Flow内ののどこにでもカスタムステップを挿入できます。例えば、読み込んだデータをマッピング前にカスタムモジュールでさらに拡張したい場合は、読み込みステップとマッピングステップの間にカスタムモジュールを挿入できます。