# Defining Dataproc connection parameters with Spark Universal

## About this task

Talend Studio connects to a Dataproc cluster to run the Job from this cluster.

## Procedure

1. Click the Run view beneath the design workspace, then click the Spark configuration view.
2. Select Built-in from the Property type drop-down list.

   If you have already set up the connection parameters in the Repository as explained in [Centralizing a Hadoop connection](https://help.qlik.com/talend/en-US/studio-user-guide/8.0-R2026-04/Centralizing%20a%20Hadoop%20connection/talend/en-US/studio-user-guide/8.0/centralizing-hadoop-connection), you can easily reuse it. To do this, select Repository from the Property type drop-down list, then click […] button to open the Repository Content dialog box and select the Hadoop connection to be used.

   Information noteTip: Setting up the connection in the Repository allows you to avoid configuring that connection each time you need it in the Spark configuration view of your Jobs. The fields are automatically filled.
3. Select Universal from the Distribution drop-down list, the Spark version from the Version drop-down list, and Dataproc from the Runtime mode/environment drop-down list.
4. Enter the basic configuration information:
   | Parameter | Usage |
   | --- | --- |
   | Use local timezone | Select this check box to let Spark use the local time<br>zone provided by the system.<br><br>Information noteNote:<br><br><ul> <li>If you clear this check box, Spark use UTC time                                                  zone.</li> <li>Some components also have the <span>Use                                                  local timezone for date</span> check box. If                                                  you clear the check box from the component, it                                                  inherits time zone from the Spark                                                  configuration.</li> </ul> |
   | Use dataset API in migrated<br>components | Select this check box to let the components use Dataset<br>(DS) API instead of Resilient Distributed Dataset (RDD) API:<br><br><ul> <li>If you select the check box, the components inside                                                the Job run with DS which improves performance.</li> <li>If you clear the check box, the components inside                                                the Job run with RDD which means the Job remains                                                unchanged. This ensures the backwards                                                compatibility.</li> </ul><br><br>This check box is selected by default, but if you import a Job from 7.3 backwards, the<br>check box will be cleared as those Jobs run with RDD.<br><br>Information noteImportant: If your Job contains tDeltaLakeInput<br>and tDeltaLakeOutput components, you must select this<br>check box. |
   | Use timestamp for dataset components | Select this check box to use<br>java.sql.Timestamp for dates.<br><br>Information noteNote: If<br>you leave this check box clear,<br>java.sql.Timestamp or<br>java.sql.Date can be used depending<br>on the pattern. |
   | Batch size (ms) | Enter the time interval at the end of which the Spark<br>Streaming Job reviews the source data to identify changes<br>and processes the new micro batches. |
   | Define a streaming timeout (ms) | Select this check box and in the field that is displayed,<br>enter the time frame at the end of which the Spark Streaming<br>Job automatically stops running.<br><br>Information noteNote: If you are using<br>Windows 10, it is recommended to set up a reasonable<br>timeout to avoid Windows Service Wrapper to have issue<br>when sending signal termination from Java applications.<br>If you are facing such issue, you can also manually<br>cancel the Job from your Azure Synapse workspace. |
   | Parallelize output files writing | Select this checkbox to enable the Spark Batch Job to run multiple<br>threads in parallel when writing output files. This option improves the<br>performance of the execution time.<br><br>When you leave this checkbox<br>cleared, the output files are written sequentially in one<br>thread.<br><br>On subJobs level, each subJob is treated sequentially.<br>Only the output file inside the subJob is parallelized.<br><br>This<br>option is only available for Spark Batch Jobs containing the<br>following output components:<br><br><ul> <li>tAvroOutput</li> <li>tFileOutputDelimited (only when the <span>Use dataset                                            API in migrated components</span> checkbox is                                        selected)</li> <li>tFileOutputParquet</li> </ul><br><br>Information noteImportant: To avoid memory<br>problems during the execution of the Job, you need to take into<br>account the size of the files being written and the execution<br>environment capacity before using this<br>parameter. |
5. Complete the Dataproc parameters:
   | Parameter | Usage |
   | --- | --- |
   | Project ID | Enter the ID of your Google Cloud Platform<br>project. |
   | Cluster ID | Enter the ID of your Dataproc cluster to be used. |
   | Region | Enter the name of the Google Cloud region to be<br>used. |
   | Google Storage staging<br>bucket | As a Talend Job expects its dependent jar files for execution, specify the<br>Google Storage directory to which these jar files are transferred so<br>that your Job can access these files at execution. |
   | Provide Google Credentials | Leave this check box clear, when you launch your Job from<br>a given machine in which Google Cloud SDK has been installed<br>and authorized to use your user account credentials to<br>access Google Cloud Platform. In this situation, this<br>machine is often your local machine. |
   | Credential type | Select the mode to be used to authenticate to your<br>project:<br><br><ul> <li> <span>Service account</span>: authenticate                                                using a Google account that is associated with your                                                Google Cloud Platform project. When selecting this                                                mode, the parameters to be defined is                                                  <span>Path to Google Credentials                                                  file</span>.</li> <li> <span>OAuth2 Access Token</span>:                                                authenticate the access using OAuth credentials.                                                When selecting this mode, the parameter to be                                                defined is <span>OAuth2 Access                                                  Token</span>.</li> </ul> |
   | Service account | Enter the path to the credentials file associated to the user<br>account to be used. This file must be stored in the machine in which<br>your Talend Job is actually launched and executed. |
   | OAuth2 Access Token | Enter an access token.<br><br>Information noteImportant: The token is<br>only valid for one hour. Talend Studio does not perform the token refresh operation so you<br>must regenerate a new one beyond the one-hour limit.<br><br>You can generate an OAuth Access Token on [Google Developers OAuth<br>Playground](https://developers.google.com/oauthplayground/) by going to BigQuery<br>API v2 and choosing all the needed<br>permissions (bigquery,<br>devstorage.full\_control, and<br>cloud-platform). |
6. Enter the Databricks configuration information:
   | Parameter | Usage |
   | --- | --- |
   | Max spot price | Select this check box to specify the maximum price you are willing<br>to pay per hour for Spot instances when Databricks provisions compute<br>resources. |
   | EBS volume type | Select this check box to specify the type of EBS volume that<br>Databricks will use for provisioning storage to compute<br>resources. |
   | Configure instance profile ARN | Select this check box to specify the ARN of the instance profile<br>that Databricks will use when provisioning compute resources. |
7. Select the Set tuning properties check box to define the tuning parameters, by following the process explained in [Tuning Spark for Apache Spark Batch Jobs](https://help.qlik.com/talend/en-US/components/8.0/spark-batch/tuning-spark-for-apache-spark-batch-jobs-spark-batch-component).

   Information noteImportant: You must define the tuning parameters otherwise you can get an error (400 - Bad request).
8. In the Spark "scratch" directory field, enter the local path where Talend Studio stores temporary files, like JARs to transfer.

   If you run the Job on Windows, the default disk is C:. Leaving /tmp in this field will use C:/tmp as the directory.
9. To make your Job resilient to failure, select Activate checkpointing to enable Spark’s checkpointing operation.

   In the Checkpoint directory field, enter the cluster file system path where Spark saves context data, such as metadata and generated RDDs.
10. In the Advanced properties table, add any Spark properties you want to override the defaults set by Talend Studio.
11. Select the Use Atlas check box to trace data lineage, view Spark Job components, and track schema changes between components.

    This option is only available for Spark Universal 3.3.x.

    With this option activated, you need to set the following parameters:
    * Atlas URL: Enter the address of your Atlas instance, such as http://name\_of\_your\_atlas\_node:port.

    * In the Username and Password fields, enter the authentication information for access to Atlas.

    * Set Atlas configuration folder: Select this check box if your Atlas cluster uses custom properties like SSL or read timeout. In the field that appears, enter the path to a local directory containing your atlas-application.properties file. Your Job will then use these custom properties.

      Ask the administrator of your cluster for this configuration file. For more information, see the Client Configs section in [Atlas configuration](https://atlas.apache.org/0.8.2/Configuration.html).

    * Die on error: Select this check box to stop Job execution if Atlas-related issues occur, such as connection errors. Clear it to let your Job continue running.

## Results

The connection details are complete, you are ready to schedule executions of your Spark Job or to run it immediately.