Extracts the key values from an Object data type column and stores them in an array of String values.

Column reference example:

derive type:single value:KEYS('object1') as:'objKeys'

Output: Generates a new objKeys column containing an array of all of the keys found in the key-value Objects found in the object1 column.

Array literal reference example:

See the example below.

derive type:single value:KEYS(obj_col)

ArgumentRequired?Data TypeDescription
obj_colYString or ObjectName of column or Object literal whose keys are to be extracted into an array

obj_col

Object literal or name of the Object column whose keys you want to extract into an array.

Required?Data TypeExample Value
YesObject literal or column referencemyObj

Example - Basic keys example

Source:

Following dataset contains configuration blocks for individual features. These example blocks are of Object type.

Code formatting has been applied to the Object data to improve legibility.

FeatureNameConfiguration
Whiz Widget
{
 "enabled": "true",
 "maxRows": "1000",
 "maxCols": "100"
}
Magic Button
{
 "enabled": "false",
 "startDirectory": "/home",
 "maxDepth": "15"
}
Happy Path Finder
{
 "enabled": "true"
}

Transform:

The following transform extracts the key values from the Object data in the Configuration column.

derive type:single value: KEYS(Configuration) as: 'keys_Configuration'

Results:

The keys_Configuration column contains the arrays of the key values.

FeatureNameConfigurationkeys_Configuration
Whiz Widget
{
 "enabled": "true",
 "maxRows": "1000",
 "maxCols": "100"
}
["enabled","maxRows","maxCols"]
Magic Button
{
 "enabled": "false",
 "startDirectory": "/home",
 "maxDepth": "15"
}
["enabled","startDirectory","maxDepth"]
Happy Path Finder
{
 "enabled": "true"
}
["enabled"]

Example - Create an Object of product properties