Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • In case a field is value is not present then it’s considered as NULL.

  • Input record will always have 3 fields and all these fields will be of type String.

Options

  • User is able to specify the Key Field based on the Input Schema (has to be field in Input Schema). This the key of the output row. From the above example it’s “Key Field”

  • User is able to specify the list of fields that should be considered to form a denormalized record. From the above example it should be ‘FIRST_NAME’, ‘LAST_NAME’, ‘ADDRESS’ & ‘CITY’

  • Users are able to specify the output field name for each through mapping. From the above example ‘ADDRESS’ in input is mapped to ‘addr’ in output schema.

  • Similarly simple type conversions should be attempted - {int, long, float, double} -> string

...

  • keyField: key on the basis of which input record will be de-normalizeddenormalized. This field should be included in input schema.
  • fieldNameName of the field in input record that contains output fields to be included in denormalized output.
  • fieldValueName of the field in input record that contains values for output fields to be included in denormalized output.
  • outputFieldSchemaoutputFields: list  List of the output fields and its mappings to be included in de-normalized output. For example, ADDRESS (in input) to Addr (in output).

 

  • denormalized output.
  • fieldAliases: List of the output fields to rename. The key specifies the name of the field to rename, with its corresponding value specifying the new name for that field.

Example:

{

...

          "name": "

...

RowDenormalizer",

...

          "type": "

...

batchaggregator",

...

          "properties":

...

              {

               "keyField" : "keyfield",

               "fieldName": "fieldname",

               "fieldValue": "fieldvalue"

                "outputFields: " {..output table schema ...}"

              }

}

...

 {
"outputFields": "FIRST_NAME,LAST_NAME,Address,City",
"fieldAliases": "Address:Addr",
"keyField": "Key Field",
"fieldName": "Field Name",
"fieldValue": "Field Value"
}
}

The transform takes Database table as input record that has a KeyFieldKey Field, FieldNameField Name, FieldValue Field Value input fields specified by user, de-normalizes denormalizes it on the basis of the key field, and then returns a de-normalised denormalized table according to the output schema specified by the user.

...