Skip To Content

Field Enricher (File) Processor

Summary

The Field Enricher (File) Processor can be used to enrich (or join) event records with attribute data contained in a system file rather than from a published feature service. GeoEvent enrichment from a system file requires the folder containing the file be registered with GeoEvent Server as a data store. Once a registered system folder is specified, the processor can retrieve the enrichment data from a named file.

Examples

  • The Field Enricher (File) Processor can be used to enrich (or join) real-time 311 service-area telephone call records with a specific location from a look-up table of addresses. The attribute join can occur using a matching telephone number associated with the 311 call and the address from the table. The enriched event record can provide a specific location for the 311 call that a service responder can navigate to.
  • The processor can be used to enrich (or join) real-time flight data with corresponding arrival airport information from a look-up table of airports. The attribute join can occur using a shared IATA airport code associated with the flight’s arrival destination and the airport data’s IATA code field. The enriched flight event record can provide additional information about the arrival airport such as reference links to terminal information, baggage claim, and ground transportation.

Usage notes

  • When using a text file as the source for enrichment, the file must follow the format illustrated below. Specifically, the first line of the file must identify the field names as comma-separated values. The second line must specify the data type of each field. The file’s data values are entered starting with the third line of the file.

    PilotName,PilotPhone,PilotYearsOfService,PilotActive
    String,String,Integer,Boolean
    John Doe,111-111-1111,4,TRUE
    Jane Doe,222-222-2222,7,TRUE
    Richard Doe,333-333-3333,12,TRUE

  • GeoEvent data enrichment relies on what database professionals refer to as a table join. You can specify a field name from the feature service's table and the name of the GeoEvent field on which a join can be performed. While the actual field name from the feature service's table must be provided, the GeoEvent field on which the join will be performed can be specified using either the name of the GeoEvent field or a tag applied to a field in the GeoEvent Definition associated with the event being processed.
  • A comma-separated list of the fields to be included in the enrichment can be constructed by selecting fields or entering them manually. Optionally, specify the tags GeoEvent Server should apply to each new field it creates as a second list of comma-separated values.
  • GeoEvent data enrichment with the creation of new fields alters the event record's schema, which requires GeoEvent Server to create a new GeoEvent Definition. The new GeoEvent Definition will be managed by GeoEvent Server and deleted if changes are made to the processor or the GeoEvent Service in which the processor is used.
  • When identifying an existing field to use in the GeoEvent Join Field parameter, it is not required you specify a GeoEvent Definition first. Choosing a GeoEvent Definition from the Definition menu only narrows the list of available fields to choose from in the Field menu.

Parameters

ParameterDescription

Name

A descriptive name for the processor used for reference in GeoEvent Manager.

Processor

The name of the selected processor.

Registered Folder

The system folder registered with GeoEvent Server as a data store. The file must reside in the registered system folder path in order for GeoEvent Server to read it.

Note:

The processor provides the ability to register a new system folder as an GeoEvent Server data store by clicking Register ArcGIS Server. Alternatively, a new data store connection can be registered in GeoEvent Manager by navigating to Site > Data Stores.

File Name

The name of the file used to enrich event records. The name and file type should be specified (for example, PilotData.csv). The file must reside in the location of the Registered Folder.

File Join Field

The name of the field in the file used to perform an attribute join with processed event records. Joins are made on the corresponding value of this field and the GeoEvent Join Field.

Note:

The name and data type of the file specified in the File Join Field must match the name and data type specified in the GeoEvent Join Field for a successful join to occur.

Target Fields

The target field(s) to write the enriched data to. The default is New Fields.

  • New Fields - The data obtained from the file will be written to new fields in the event record. The new fields will assume the same name and field type as defined in the source file schema. Altering an event record’s schema by adding a new field requires a new GeoEvent Definition.
  • Existing Fields - The data obtained from the file will be written to existing fields in the processed event record. The existing fields must have the same name and field type as defined in the source file schema.

Enrichment Fields

The fields from the file to use to enrich (join to) processed event records. Use a comma-separated list, with no spaces, to choose more than one field for event record enrichment (for example PilotName,PilotPhone,PilotActive).

Field Tags

(Conditional)

The tag, or a comma-separated list of tags, to apply to the new fields appended to the processed event record. The order of the tags must match the order of the specified enrichment fields (for example GEOMETRY,TRACK_ID,TIME_START).

Note:

The tag(s) must already exist in GeoEvent Manager, the processor will not create new tags.

Property is shown when Target Fields is set to New Fields and is hidden when set Existing Fields.

New GeoEvent Definition Name

(Conditional)

The name assigned to the new GeoEvent Definition. The new GeoEvent Definition will combine the schema of the inbound event record with the new fields used for storing the enrichment values from the file.

Property is shown when Target Fields is set to New Fields and is hidden when set to Existing Fields.

GeoEvent Join Field

The name of the field from the event record used to perform an attribute join with data from the file. Joins are made on the corresponding data value in this field and the field selected in the File Join Field parameter.

Note:

Use the Definition menu to identify the GeoEvent Definition of the inbound event record. Choosing a GeoEvent Definition will limit the number of fields to choose from. Use the Field menu to identify the name of an existing field to be used for the join.

Considerations and limitations

  • The file used for enrichment must have comma-delimited data and follow a structure where the first line in the file identifies the field names, the second line identifies the field types, and the third line onwards identifies the data values. The processor does not support other structures.
  • Consider the field types of both the file and event record when trying to perform enrichment with the processor. As a best practice, it is recommended the file’s field types match the event record field types.
  • When specifying a Registered Folder, UNC paths are supported. However, it is recommended the enrichment file be stored on the local machine running GeoEvent Server to avoid network latency issues.