| Name | Flag | Alt_Text |
|---|---|---|
| Cyprus | https://flagcdn.com/w320/cy.png | The flag of Cyprus. |
| Somalia | https://flagcdn.com/w320/so.png | The flag of Somalia. |
| Venezuela | https://flagcdn.com/w320/ve.png | The flag of Venezuela. |
- For an alternative method of extracting semi-structured data in a Snowflake project, you can use the Flatten Variant component.
- For a method of extracting structured data in a Databricks project, you can use the Extract Structured Data component.
- Extraction of data stored in XML format isn’t currently supported in this component.
Use case
The Extract Nested Data component is used to flatten and extract fields from semi-structured data in JSON format. Some common uses for this include:- Taking data from an API that returns a nested JSON object, and putting it into table columns.
- Extracting nested data from sources like S3 logs, CloudTrail, or Kafka, making the data ready for analysis.
- Preparing semi-structured JSON data for loading into relational tables without losing granularity.
- Visual column mapping without writing SQL.
- Automatic schema discovery from JSON structure.
- Built-in array flattening capabilities.
- Better maintainability for complex nested structures.
Properties
- Snowflake
- Databricks
- Amazon Redshift
A human-readable name for the component.
Choose whether to include input columns in the output.
Use this property to select which elements from the JSON input will be mapped to columns in the output. The Columns dialog shows a graphical representation of every addressable element in the input. If the input has multiple columns of JSON data, all will be included here. Each element has a corresponding checkbox. Select an element’s checkbox to include that element in the output. No elements are selected by default.
- To select every element, click Select all.
- To clear every element, click Clear all.
- To edit an element, click the three dots … next to the element, and then click Edit element.
- To add a new element, click the three dots … next to the VARIANT heading at the top of the structure, and then click Add element. Each element should be assigned a unique Key, a Type, and an Alias.
- To delete an element, click the three dots … next to it and click Delete element.
- To automatically add every element to the structure, click Autofill.
- To remove all elements added to the structure so far, reverting to a blank structure, click Reset.
Determines how to handle input rows that can’t be expanded (for example, because they have no fields to expand, or because they can’t be accessed). Select No to completely omit these rows from the output, Yes to generate an output row with
NULL values.If two input elements have identical names, one will be given this prefix to differentiate them. More than two identically named elements will result in an error. The default is
i, and this does not need changing in the vast majority of use cases.If two array structures have identical names, one will be given this prefix to differentiate them. More than two identically named structures will result in an error. The default is
f, and this does not need changing in the vast majority of use cases.Select how invalid or unparsable input elements will be handled:
- Fail on invalid data (the default)
- Replace all unparseable values with null
- Replace unparseable dates and timestamps with null
Set the case that will be used for alias column names. Settings include Upper, Lower, or No (the default).

