ステップ

データハブにおけるステップの概要。

ステップについて

フローは、データを処理または強化する複数のステップから構成されています。

ステップには、次のいずれかのタイプがあります。

ステップ ステップへの入力 ステップの内容 ステップの結果
読み込み(Ingestion) 1つのソースからの生データ 各項目をエンベロープでラップし、ラップされた項目をレコードとしてステージングデータベースに保存します。 ステージングデータベースに読み込まれたデータ
マッピング
  • ステージングデータベースに読み込まれたデータ
  • エンティティモデルの定義
エンティティモデルのフィールドをソースデータの対応するフィールドに関連付け、マッピングされたデータをファイナルデータベースに保存します。 ファイナルデータベース内のマッピング済みデータ
マッチング ファイナルデータベース内のマッピング済みデータ データ内で重複の可能性があるものをチェックする。 ファイナルデータベース内の内部マッチサマリー。各マッチサマリーには、マージされるレコードのリストが含まれます。
マージング マッチングステップが作成した内部マッチサマリー。 指定された基準に基づき、候補のリストを扱う。

比較された2つのレコードが、指定された重複条件を確実に満たしている場合、これら2つの重複レコードに基づく新しいレコードがファイナルデータベースに作成されます。また、元のエントリはアーカイブ済みとしてタグ付けされて、ファイナルデータベースに残ります。

比較された2つのレコードが、マッチの可能性の条件を満たしている(しかし確実ではない)場合、通知ドキュメントがファイナルデータベースに作成されます。この通知には、これら2つのレコードに関する情報が含まれています。

これら以外の場合は、何も実行されません。

マスタリング ファイナルデータベース内のマッピング済みデータ データ内で重複している可能性のあるドキュメントをチェックし、指定した条件に基づいて処理します。
  • カスタム - 読み込み
  • カスタム - マッピング
  • カスタム - マスタリング
  • カスタム - その他
カスタムコードによって異なる ステップ定義で指定されたカスタムコードを実行します。カスタムコードを使用すると、データをさらに処理、強化、または検証できます。また、MarkLogicデータハブに含まれるデフォルトの処理をカスタムステップで置き換えることもできます。例えば、カスタムの読み込みステップを作成することで、データの異なる読み込み方法を定義できます。 カスタムコードによって異なる
注: 読み込まれたデータとハーモナイズされたデータのデフォルトのストレージは、ステージングデータベースとファイナルデータベースですが、それ以外のデータベースを使用することもできます。

フロー内のステップの選択

1つのフロー内に、任意の組み合わせのステップ(読み込み、マッピング、マッチング、マージング、マスタリング、カスタム)を含めることができます。ステップをさまざまに組み合わせて、好きな数だけフローを作成できます。例えば、読み込みしかないフローを1つ作成する一方、マッピングとマスタリングのステップを含む別のフローを作成できます。

事前定義された各種のステップ(読み込み、マッピング、マッチング、マージング、マスタリング)には、それぞれ前提条件があります(通常は他のステップからの出力が要求されます)。例えば以下のような場合です。
  • マッピングステップを設定・実行する前に、データベース内にエンベロープ化されたデータ(読み込みステップの結果)が必要です。
  • マスタリングステップを実行する前に、マッピング済みデータ(マッピングステップの結果)が必要で、比較するすべてのデータを同一のエンティティモデルにマッピングしてある必要があります。

基本的に、読み込みステップはマッピングステップの前に実行する必要があります。また、マッピングステップはマスタリングステップの前に実行する必要があります。分割ステップマスタリングでは、マージングステップの前にマッチングステップが終わっている必要があります。

これらのステップは別個のフローに含めることができます。これらが同一フロー内に含まれている場合でも、フロー実行時にどのステップを実行するのかを選択できます。

ヒント: それぞれのデータソースの読み込み用に別個のフローを作成できます。例えば以下のような場合です。
  • フローAでは、ニューヨークの子会社から人事データを読み込み、読み込んだデータをエンティティモデルにマッピングします。
  • フローBでは、サンフランシスコの子会社からの人事データに対して同様の処理を行います。
  • 読み込み(Ingestion)
    • ステージングデータベースにデータを読み込む必要がある場合は、読み込みステップを追加します。
    • データがすでにエンベロープにラップされ、ステージングデータベースに保存されている場合は、このステップは不要です。
  • マッピング
    • ソースのフィールドがエンティティモデルのプロパティと1対1に対応付けられていない場合は、ソースとエンティティモデル間のマッピングを処理するカスタムモジュールへのリンクを含むカスタムステップを追加します。
    • ソースフィールドに対して計算などの追加処理が必要な場合は、計算を実行するカスタムモジュールへのリンクを含むカスタムステップを追加します。
    • XMLドキュメントをマッピングする場合は、XMLドキュメントを処理するカスタムモジュールへのリンクを含むカスタムステップを追加します。
    • ソースに対して複雑な型変換が必要な場合は、変換を実行するカスタムモジュールへのリンクを含むカスタムステップを追加します。
    • データがすでにエンティティモデルに対してマッピングされ、ファイナルデータベースに保存されている場合は、このステップは不要です。
    • それ以外の場合は、マッピングステップを追加します。
  • マスタリング
    • 重複した複数のデータをそのまま保持したい場合は、このステップは不要です。
    • MarkLogicのスマートマスタリング技術を使用して、重複するドキュメントを特定してマージしたい場合は以下を行います。
      • スレッド1つでもパフォーマンスの問題なくデータセットのマッチングとマージングができる場合には、マスタリングステップを追加します。
      • データセットが巨大な場合、また重複が大量に存在する可能性がある場合には、パフォーマンスを改善するために複数のスレッドが必要になります。この場合、マッチングステップそしてその後ろにマージングステップを追加します。
    • それ以外の場合は、重複するドキュメントを識別し、自分の好きなように処理するためのカスタムモジュールへのリンクを含むカスタムステップを追加します。
注: カスタムステップは、事前定義されたステップの代替として利用するのでなければ、フロー内の任意の場所に挿入できます。例えば、読み込んだデータをマッピング前にカスタムモジュールでさらに強化したい場合は、読み込みステップとマッピングステップの間にカスタムモジュールを挿入できます。

ステップのカスタマイズ

ステップは複数の方法でカスタマイズ可能です。

事前定義されているステップ(読み込み、マッピング、マスタリング)を置き換えるには、カスタムステップを作成し、適切なカスタムステップタイプ(読み込み、マッピング、マスタリング)を選択します。
事前定義されたプロセスにうまく合致しない処理を追加する場合は、カスタムステップを作成し、カスタムステップタイプとして「Other」(その他)を選択します。
何らかのステップの直前/直後に処理を追加したい場合、適切なステップを作成し、カスタムフックを追加します。
マッピングプロセスをカスタマイズするには、事前定義されたデータハブマッピング関数に加えて、カスタムのマッピング関数を作成し、これをマッピング定義で使用します。