# tExtractJSONFields properties for Apache Spark Streaming (deprecated)

Availability-note[Deprecated](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)

This content is deprecated.

These properties are used to configure tExtractJSONFields running in the Spark Streaming Job framework.

Information noteDeprecation: Spark Streaming is deprecated beginning with the R2026-09 release. Use Spark Structured Streaming instead.

The Spark Streaming tExtractJSONFields component belongs to the Processing family.

This component is available in Talend Real-Time Big Data Platform and Talend Data Fabric.

## Basic settings

| Properties | Description |
| --- | --- |
| Property type | <ul> <li> <p>Either <span>Built-In</span> or <span>Repository</span>. </p> </li> <li> <p> <span>Built-In</span>: No property data stored centrally.</p> </li> <li> <p> <span>Repository</span>: Select the repository file where the            properties are stored.</p> </li> </ul> |
| Schema and Edit<br>Schema | <ul> <li> <p>A schema is a row description. It defines the number of fields            (columns) to be processed and passed on to the next component. When you create a Spark            Job, avoid the reserved word <kbd>line</kbd> when naming the            fields.</p> <p>Click <span>Edit        schema</span> to make changes to the schema. If the current schema is of the <span>Repository</span> type, three options are available:</p> <ul> <li> <p> <span>View schema</span>: choose this                option to view the schema only.</p> </li> <li> <p> <span>Change to built-in property</span>:                choose this option to change the schema to <span>Built-in</span> for local changes.</p> </li> <li> <p> <span>Update repository connection</span>:                choose this option to change the schema stored in the repository and decide whether                to propagate the changes to all the Jobs upon completion.</p> <p>If you just want to                propagate the changes to the current Job, you can select <span>No</span> upon completion and choose this schema metadata                again in the <span>Repository Content</span>                window.</p> </li> </ul> </li> <li> <p> <span>Built-In</span>: You create and store the schema locally for this component                only.</p> </li> <li> <p> <span>Repository</span>: You have already created the schema and stored it in the                Repository. You can reuse it in various projects and Job designs.</p> </li> </ul> |
| Read by | Select a way of extracting the JSON data in the file.<br><br><ul> <li> <p> <span>Xpath</span>: Extracts the JSON data based on                    the XPath query.</p> </li> <li> <p> <span>JsonPath</span>: Extracts the JSON data based on                    the JSONPath query. Note that it is recommended to read the data by JSONPath in                    order to gain better performance.</p> </li> </ul> |
| JSON field | List of the JSON fields to be extracted. |
| Loop Jasonpath query | Enter the JSONPath or XPath of the node on which the loop is based.<br><br>Note if you have selected Xpath from the Read by drop-down list, the Loop<br>Xpath query field is displayed instead. |
| Mapping | Complete this table to map the columns defined in the schema to the<br>corresponding JSON nodes.<br><br><ul> <li> <p> <span>Column</span>: The <span>Column</span> cells are automatically filled with the defined schema                    column names.</p> </li> <li> <p> <span>Json query</span>/<span>JSONPath query</span>: Specify the JSONPath node that holds the                    desired data. For more information about JSONPath expressions, see <a href="http://goessner.net/articles/JsonPath/" target="_blank">http://goessner.net/articles/JsonPath/</a>.</p> <p>This column is available only when <span>JsonPath</span> is selected from the <span>Read                        By</span> list.</p> </li> <li> <p> <span>XPath query</span>: Specify the XPath node that                    holds the desired data.</p> <p>This column is available only when <span>Xpath</span> is selected from the <span>Read                        By</span> list.</p> </li> <li> <p> <span>Get Nodes</span>: Select this check box to                    extract the JSON data of all the nodes or select the check box next to a                    specific node to extract the data of that node.</p> <p>This column is available only when <span>Xpath</span> is selected from the <span>Read                        By</span> list.</p> </li> <li> <p> <span>Is Array</span>: select this check box when the                    JSON field to be extracted is an array instead of an object.</p> <p>This column is available only when <span>Xpath</span> is selected from the <span>Read                        By</span> list.</p> </li> </ul> |
| Die on error | Select the checkbox to stop the execution of the Job when an error<br>occurs. |

## Advanced settings

| Properties | Description |
| --- | --- |
| Encoding | Select the encoding from the list or select Custom<br>and define it manually. This field is compulsory for database data handling. The<br>supported encodings depend on the JVM that you are using. For more information, see<br>[https://docs.oracle.com](https://docs.oracle.com/). |

## Usage

| Usage guidance | Description |
| --- | --- |
| **Usage rule** | This component is used as an intermediate step.<br><br>This component, along with the Spark Streaming component Palette it belongs to, appears<br>only when you are creating a Spark Streaming Job.<br><br>Note that in this documentation, unless otherwise explicitly stated, a scenario presents<br>only Standard Jobs, that is to say traditional<br>Talend<br>data<br>integration Jobs. |
| Spark Connection | In the Spark<br>Configuration tab in the Run<br>view, define the connection to a given Spark cluster for the whole Job. In<br>addition, since the Job expects its dependent jar files for execution, you must<br>specify the directory in the file system to which these jar files are<br>transferred so that Spark can access these files:<br><br><ul> <li> <div> <span>Yarn mode</span> (Yarn client or Yarn cluster):<ul> <li> <p>When using Google Dataproc, specify a bucket in the                                            <span>Google Storage staging bucket</span>                                        field in the <span>Spark configuration</span>                                        tab.</p> </li> <li> <p>When using HDInsight, specify the blob to be used for Job                                        deployment in the <span>Windows Azure Storage                                            configuration</span> area in the <span>Spark                                            configuration</span> tab.</p> </li> <li>When using Altus, specify the S3 bucket or the Azure                                    Data Lake Storage for Job deployment in the <span>Spark                                        configuration</span> tab.</li> <li> <p>When using on-premises distributions, use                                        the configuration component corresponding to the file system                                        your cluster is using. Typically, this system is HDFS and so                                        use <a href="https://help.qlik.com/talend/r/en-US/8.0/components/hdfs/thdfsconfiguration">tHDFSConfiguration</a>.</p> </li> </ul> </div> </li> <li> <p> <span>Standalone mode</span>: use the                            configuration component corresponding to the file system your cluster is                            using, such as <a href="https://help.qlik.com/talend/r/en-US/8.0/components/hdfs/thdfsconfiguration-properties-for-apache-spark-batch">tHDFSConfiguration Apache Spark Batch</a> or <a href="https://help.qlik.com/talend/r/en-US/8.0/components/amazon-s3/ts3configuration-properties-for-apache-spark-batch">tS3Configuration Apache Spark Batch</a>.</p> <p>If you are using Databricks without any configuration component present                            in your Job, your business data is written directly in DBFS (Databricks                            Filesystem).</p> </li> </ul><br><br>This connection is effective on a per-Job basis. |