# tDynamoDBInput properties for Apache Spark Batch

These properties are used to configure tDynamoDBInput running in the Spark Batch Job framework.

The Spark Batch tDynamoDBInput component belongs to the Databases family.

The component in this framework is available in all subscription-based Talend products with Big Data and Talend Data Fabric.

This component is not supported with Spark 4.0.x.

## Basic settings

| Properties | Description |
| --- | --- |
| Use an existing connection | Select this check box and in the Component<br>List drop-down list, select the desired connection component to<br>reuse the connection details you already defined. |
| Inherit credentials from AWS<br>role | Select this checkbox to leverage the instance profile credentials. These<br>credentials can be used on Amazon EC2 instances, and are delivered through the<br>Amazon EC2 metadata service. To use this option, your Job must be running within<br>Amazon EC2 or other services that can leverage IAM Roles for access to resources.<br>For more information, see [Using an IAM Role to Grant Permissions to<br>Applications Running on Amazon EC2 Instances](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html).<br><br>Information noteNote: This option is available when Use an existing<br>connection is cleared. |
| Access<br>Key | Enter the access<br>key ID that uniquely identifies an AWS Account. For further information about how to<br>get your Access Key and Secret Key, see [Getting Your AWS Access<br>Keys](http://docs.aws.amazon.com/ses/latest/DeveloperGuide/get-aws-keys.html).<br><br>Information noteNote: This option is available when Use an existing<br>connection and Inherit credentials from AWS<br>role are cleared. |
| Secret<br>Key | Enter the secret access key,<br>constituting the security credentials in combination with the access Key.<br><br>To enter the secret key, click the [...]<br>button next to the secret key field, and then in the pop-up dialog box enter the password<br>between double quotes and click OK to save the<br>settings.<br><br>Information noteNote: This option is available when Use an existing<br>connection and Inherit credentials from AWS<br>role are cleared. |
| Region | Specify the AWS region by selecting or entering a region name between double<br>quotation marks (e.g. *"us-east-1"*). For more information about the<br>AWS Region, see [Regions and Endpoints](http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region). |
| Use End Point | Select this check box and in the Server URL<br>field displayed, specify the Web service URL of the DynamoDB database service. |
| 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> <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> </li> <li> <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> </ul> |
| Table Name | Specify the name of the table from which you need to read data. |

## Advanced settings

| Properties | Description |
| --- | --- |
| Number of scan segments | Enter, without using quotation marks, the number of segments for the parallel scan. |
| Number of partitions | Enter, without using quotation marks, the maximum number of partitions into which you want<br>Spark to split the input data so that the Spark executors can process the data in parallel.<br>It is recommended to put a number less or equal to the number of segments. |
| Throughput read percent | Enter, without using quotation marks, the percentage (expressed in decimal) to be used of<br>the read capacity pre-defined in Amazon. The rest of this capacity is spared for other<br>non-*Talend* applications. For further information about this read<br>capacity, see [Provision throughput for read](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ProvisionedThroughput.html#HowItWorks.ProvisionedThroughput.Reads). |
| Advanced settings | Add properties to define extra operations you need tDynamoDBInput to perform when reading 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 guidance | Description |
| --- | --- |
| **Usage rule** | This component is used as a start component and requires an<br>output 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 Batch component Palette it belongs to,<br>appears only when you are creating a Spark Batch Job.<br><br>Note that in this documentation, unless otherwise explicitly stated, a<br>scenario presents only Standard Jobs, that is to<br>say traditional<br>Talend<br>data 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. |