フィールド マッパー プロセッサを使用して、あるジオイベントスキーマから別のジオイベント スキーマまたはジオイベント定義にデータを変換 (マッピング) できます。すべてのジオイベントには、属性フィールドとデータ タイプを識別するジオイベント定義が関連付けられています。ジオイベント定義は、ジオイベントの新しいフィールドに情報が付加された場合などに処理されると、変わる可能性があります。
フィールド マッパー プロセッサを構成するには、ソース ジオイベント定義とターゲット ジオイベント定義を選択します。右に表示されるターゲットジオイベント定義のフィールドと、選択したソースジオイベント定義のフィールドのドロップ ダウン リストを使用して、マッピングする適切なフィールドを選択できます。各フィールドに適したマッピングを識別できるようにするために、各フィールドのデータ タイプが表示されます。
処理のある時点では適切なジオイベント定義が、公開済みフィーチャ サービスのスキーマに一致していない場合があります。そのようなジオイベントは、フィールド マッパー プロセッサによって処理し、ターゲット フィーチャのスキーマに一致するように各ジオイベントのスキーマを変換する必要があります。その後、ジオイベント サービスは、フィーチャ サービス内のフィーチャを更新できます。
たとえば、多くの (特に、汎用 JSON を提供する) リアルタイム データ ストリームは、サブフィールドのグループや複数の値のリストを含むデータ構造を多くの場合提供します。そのようなデータ構造は、フィーチャ サービスの、不連続データ タイプ (Date、String、Integer など) を必要とするフラットなデータ構造を持つスキーマとは一致しません。フィールド マッパー プロセッサの主な目的は、階層構造をフラットにして、フィーチャ サービスのスキーマに一致させることです。
フィールド マッパー プロセッサのその他の一般的な用途は次のとおりです。
- ターゲット ジオイベント定義を指定すると、フィールド マッパー プロセッサから送信されるジオイベントのスキーマが構築されるため、このプロセッサを効率的に使用して、入力から出力に送信される属性フィールドの数を減らすことができます。目的のフィールドを使用してジオイベント定義を作成するだけでよく、その後、フィールド マッパー プロセッサを使用すると、ジオイベント サービスから受信するジオイベントが縮小して、目的の出力スキーマに一致するようになります。
- 基本的なデータ変換を実行します。たとえば、Integer データが格納されたジオイベント フィールドを、Long 表現または Double 表現のデータ値に変換するような場合です。数値を変換して、文字列表現のデータを作成できます。フィールド マッパー プロセッサがデータ タイプ変換を実行できない場合は、マッピングされたフィールドに NULL 値が書き込まれます。
備考:
公開済みフィーチャ サービスのフィーチャを更新するが、既存のフィーチャのフィールドを変更したくない場合、それらのフィールドをフィールド マッパー プロセッサでマッピングしないままにすると、フィーチャの更新時に NULL 値が書き込まれます。マッピングしないフィールドを削除してからジオイベントを出力コネクタに送信するには、フィールド リデューサー プロセッサを使用します。フィールド リデューサー プロセッサは、フィーチャ サービスを更新する機能を担っています。