description |
---|
This section contains reference documentation for the JSONPATHLONG function. |
Extracts the Long value from jsonField
based on 'jsonPath'
, use optional defaultValue
for null or parsing error. This function can only be used in an ingestion transformation function.
JSONPATHLONG(jsonField, 'jsonPath', [defaultValue])
Arguments | Description |
---|---|
jsonField |
An Identifier/Expression contains JSON documents. |
'jsonPath' |
Follows JsonPath Syntax to read values from JSON documents. |
{% hint style="warning" %}
'jsonPath'
` is a literal. Pinot uses single quotes to distinguish them from identifiers.
You can use the Jayway JsonPath Evaluator Tool to test JSON expressions before you import any data.
{% endhint %}
The usage examples are based on extracting fields from the following JSON document:
{
"data": {
"name": "Pete",
"age": 24,
"subjects": [
{
"name": "maths",
"homework_grades": [80, 85, 90, 95, 100],
"grade": "A",
"score": 90
},
{
"name": "english",
"homework_grades": [60, 65, 70, 85, 90],
"grade": "B",
"score": 70
}
]
}
}
Expression | Value |
---|---|
JSONPATHLONG(data, '$.age') |
24 |
This function can be used in the table config to extract the age
property into the age
column, as described below:
{
"tableConfig":{
"ingestionConfig":{
"transformConfigs":[
{
"columnName":"age",
"transformFunction":"JSONPATHLONG(data, '$.age')"
}
]
}
}
}