# tDynamoDBOutput properties for Apache Spark Streaming

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

The Spark Streaming tDynamoDBOutput component belongs to the Databases family.

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

## Basic settings

| Use an existing connection | Select this check box and in the Component List click the relevant connection component to<br>reuse the connection details you already defined. |
| --- | --- |
| Access<br>Key | Enter the access key ID that uniquely identifies an AWS<br>Account. For further information about how to get your Access Key and Secret Key,<br>see [Getting Your AWS Access<br>Keys](http://docs.aws.amazon.com/ses/latest/DeveloperGuide/get-aws-keys.html). |
| Secret<br>Key | Enter the secret access key, constituting the security<br>credentials in combination with the access Key.<br><br>To enter the secret key, click the [...] button next to<br>the secret key field, and then in the pop-up dialog box enter the password between double<br>quotes and click OK to save the settings. |
| Use End Point | Select this check box and in the Server Url field<br>displayed, specify the Web service URL of the DynamoDB database service. |
| Region | Specify the AWS region by selecting a region name from the<br>list or entering a region between double quotation marks (e.g. *"us-east-1"*) in the list. For more information about the AWS<br>Region, see [Regions and Endpoints](http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region). |
| Schema and Edit<br>schema | A schema is a row description. It defines the number of fields<br>(columns) to be processed and passed on to the next component. When you create a Spark<br>Job, avoid the reserved word line when naming the<br>fields.<br><br><ul> <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> |
|  | Click Edit<br>schema to make changes to the schema. If the current schema is of the Repository type, three options are available:<br><br><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. 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> |
| Table Name | Specify the name of the table in which you need to write data. This table must already<br>exist. |
| Die on error | Select the check box to stop the execution of the Job when an error<br>occurs. |

## Advanced settings

| Throughput write percent | Enter, without using quotation marks, the percentage (expressed in decimal) to be used of<br>the write capacity pre-defined in Amazon. For further information about this write capacity,<br>see [Provision throughput for write](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ProvisionedThroughput.html#HowItWorks.ProvisionedThroughput.Writes). |
| --- | --- |
| Advanced properties | Add properties to define extra operations you need tDynamoDBOutput to perform when writing data.<br><br>This table is present for future evolution of the component and using it requires the<br>high-level knowledge of DynamoDB development. Currently, there are no interesting user<br>configurable properties. |

## Usage

| **Usage rule** | This component is used as an end component and requires an input link.<br><br>This component should use a tDynamoDBConfiguration<br>component present in the same Job to connect to a DynamoDB database. You need to drop a<br>tDynamoDBConfiguration component alongside this<br>component and configure the Basic settings of this<br>component to use tDynamoDBConfiguration.<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>When using Qubole, add a                                        <span>tS3Configuration</span> to your Job to write                                    your actual business data in the S3 system with Qubole. Without                                        <span>tS3Configuration</span>, this business data is                                    written in the Qubole HDFS system and destroyed once you shut                                    down your cluster.</li> <li> <p>When using on-premise distributions, use the configuration component                                        corresponding to the file system your cluster is using.                                        Typically, this system is HDFS and so use <span></span>.</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 <span>tHDFSConfiguration</span> or <span>tS3Configuration</span>.</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. |