Data Types

Spectrum™ Technology Platform supports a variety of numeric, string, and complex data types. Depending on the type of processing you want to perform you may use one or more of these. For an address validation dataflow you might only use string data. For dataflows that involve the mathematical computations you may use numeric or Boolean data types. For dataflows that perform spatial processing you may use a complex data type. For dataflows that combine these, you may use a variety of data types.

Spectrum™ Technology Platform supports the following data types.

bigdecimal
A numeric data type that supports 38 decimal points of precision. Use this data type for data that will be used in mathematical calculations requiring a high degree of precision, especially those involving financial data. The bigdecimal data type supports more precise calculations than the double data type.
boolean
A logical type with two values: true and false.
bytearray
An array (list) of bytes.
Note: Bytearray is not supported as an input for a REST service.
date
A data type that contains a month, day, and year. For example, 2012-01-30 or January 30, 2012. You can specify a default date format in Management Console.
datetime
A data type that contains a month, day, year, and hours, minutes, and seconds. For example, 2012/01/30 6:15:00 PM.
double
A numeric data type that contains both negative and positive double precision numbers between 2-1074 and (2-2-52)×21023. In E notation, the range of values is -1.79769313486232E+308 to 1.79769313486232E+308.
float
A numeric data type that contains both negative and positive single precision numbers between 2-149 and (2-223)×2127. In E notation, the range of values -3.402823E+38 to 3.402823E+38.
integer
A numeric data type that contains both negative and positive whole numbers between -231 (-2,147,483,648) and 231-1 (2,147,483,647).
list
Strictly speaking, a list is not a data type. However, when a field contains hierarchical data, it is treated as a "list" field. In Spectrum™ Technology Platform a list is a collection of data consisting of multiple values. For example, a field Names may contain a list of name values. This may be represented in an XML structure as:
<Names>
    <Name>John Smith</Name>
    <Name>Ann Fowler</Name>
</Names>
It is important to note that the Spectrum™ Technology Platform list data type different from the XML schema list data type in that the XML list data type is a simple data type consisting of multiple values, whereas the Spectrum™ Technology Platform list data type is similar to an XML complex data type.
long
A numeric data type that contains both negative and positive whole numbers between -263 (-9,223,372,036,854,775,808) and 263-1 (9,223,372,036,854,775,807).
string
A sequence of characters.
time
A data type that contains the time of day. For example, 21:15:59 or 9:15:59 PM.

Specifying a Field's Data Type

You can specify the data type for a field in these situations:
  • Source stages: Specifying data types allows you to set the data type at the beginning of a dataflow, eliminating the need for data type conversions later in the dataflow. Note that for Read from DB, the data type is selected automatically and cannot be changed.
  • Sink stages: Specifying data types allows you to control the data format returned by the dataflow. Note that for Write to DB, the data type is selected automatically and cannot be changed.
  • Transformer stage: You can specify data types in this stage if you use a custom script.
  • Math stage and Group Statistics stage: Since these stages perform mathematical calculations, choosing to use a particular numeric data type can have an effect on the results of the calculations, such as the precision of a division operation. If you specify a data type for a field that is different than the data type of the field coming into the stage, the downstream channel will automatically convert the field to the data type you specify, as described in Automatic Data Type Conversion.
Note: Each stage supports different data types. For a description of the supported data types for each stage, see the documentation for the stage.