# tMapRDBConfiguration properties for Apache Spark Batch

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

The Spark Batch tMapRDBConfiguration component belongs to the Storage and the Databases families.

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

## Basic settings

| Property type | Either Built-In or Repository.<br><br><br>Built-In: No property data stored centrally.<br><br><br>Repository: Select the repository file where the<br>properties are stored.<br><br>The properties are stored centrally under the Hadoop<br>Cluster node of the Repository<br>tree. |
| --- | --- |
| Distribution and<br>Version | Select the MapR distribution to be used. Only MapR V5.2 onwards is supported<br>by the MapRDB components.<br><br>If the distribution you need to use with your MapRDB database is not<br>officially supported by this MapRBD component, that is to say, this distribution is MapR<br>but is not listed in the Version drop-down list of<br>this components or this distribution is not MapR at all, select Custom.<br><br><ol> <li> <p>Select <span>Import from existing                        version</span> to import an officially supported distribution as base                    and then add other required jar files which the base distribution does not                    provide.</p> </li> <li> <p>Select <span>Import from zip</span> to                    import the configuration zip for the custom distribution to be used. This zip                    file should contain the libraries of the different Hadoop elements and the index                    file of these libraries. </p> <p>In <span> <span>Talend</span> </span> <span>Exchange</span>, members of <span> <span>Talend</span> </span> community have shared some ready-for-use configuration zip files                    which you can download from this <a href="https://exchange.talend.com/#marketplacesearch:gallery=marketplace%252F1&amp;ob=rating&amp;o=0&amp;c=20&amp;d=true&amp;s=&amp;f=&amp;tf=&amp;bf=&amp;cat=orgs%252F1%252Fcategories%252F30" target="_blank">Hadoop configuration </a>                    list and directly use them in your connection accordingly. However, because of                    the ongoing evolution of the different Hadoop-related projects, you might not be                    able to find the configuration zip corresponding to your distribution from this                    list; then it is recommended to use the <span>Import from                        existing version</span> option to take an existing distribution as base                    to add the jars required by your distribution.</p> <p>Note that custom versions are not officially supported by                        <span> <span>Talend</span> </span>. <span> <span>Talend</span> </span> and its community provide you with the opportunity to connect to                    custom versions from the Studio but cannot guarantee that the configuration of                    whichever version you choose will be easy, due to the wide range of different                    Hadoop distributions and versions that are available. As such, you should only                    attempt to set up such a connection if you have sufficient Hadoop experience to                    handle any issues on your own.</p> <div><span>Information note</span><span>Note:</span> <p>In this dialog box, the active check box must be kept                        selected so as to import the jar files pertinent to the connection to be                        created between the custom distribution and this component.</p> </div> <p>For a step-by-step example about how to connect to a custom                    distribution and share this connection, see <span></span>.</p> </li> </ol> |
| Zookeeper quorum | Type in the name or the URL of the Zookeeper service you use to coordinate the transaction<br>between your Studio and your database. Note that when you configure the Zookeeper, you might<br>need to explicitly set the *zookeeper.znode.parent*<br>property to define the path to the root znode that contains all the znodes created and used<br>by your database; then select the Set Zookeeper znode<br>parent check box to define this property. |
| Zookeeper client port | Type in the number of the client listening port of the Zookeeper service you are<br>using. |
| Use kerberos<br>authentication | If the database to be used is running with Kerberos security, select this<br>check box, then, enter the principal names in the displayed fields. You should be<br>able to find the information in the *hbase-site.xml* file of the<br>cluster to be used.<br><br><ul> <li> <p>If this cluster is a MapR cluster of the version 5.0.0 or later, you can set the            MapR ticket authentication configuration in addition or as an alternative by following            the explanation in <a href="https://help.qlik.com/talend/en-US/components/7.2/standard/connecting-to-a-security-enabled-mapr_c.html" title="When designing a Job, set up the authentication configuration in the component you are using depending on how your MapR cluster is secured.">Connecting to a security-enabled MapR</a>. </p> <p>Keep in mind that this configuration generates a new MapR security ticket for the username        defined in the Job in each execution. If you need to reuse an existing ticket issued for the        same username, leave both the <span>Force MapR ticket            authentication</span> check box and the <span>Use Kerberos            authentication</span> check box clear, and then MapR should be able to automatically        find that ticket on the fly.</p> </li> </ul><br><br>If you need to use a Kerberos keytab file to log in, select Use a keytab to authenticate. A keytab file contains<br>pairs of Kerberos principals and encrypted keys. You need to enter the principal to<br>be used in the Principal field and the access<br>path to the keytab file itself in the Keytab<br>field. This keytab file must be stored in the machine in which your Job actually<br>runs, for example, on a Talend<br>Jobserver.<br><br>Note that the user that executes a keytab-enabled Job is not necessarily<br>the one a principal designates but must have the right to read the keytab file being<br>used. For example, the user name you are using to execute a Job is *user1* and the principal to be used is *guest*; in this<br>situation, ensure that *user1* has the right to read the keytab<br>file to be used.<br><br>For further information about how Kerberos can be configured for your<br>database in a MapR cluster, see [Configuring Kerberos<br>Authentication](http://doc.mapr.com/display/MapR/Configure+Kerberos+Authentication+for+the+HBase+REST+Gateway). |
| HBase Properties | If you need to use custom configuration for your database, complete this table with the<br>property or properties to be customized. Then at runtime, the customized<br>property or properties will override those corresponding ones defined<br>earlier for your database.<br><br>For example, you need to define the value of the *dfs.replication* property as *1* for the database configuration. Then you need to add one<br>row to this table using the plus button and type in the name and the<br>value of this property in this row. |

## Usage

| **Usage rule** | This component is used only with the other MapRDB components to provide MapR-DB<br>connection to Spark. |
| --- | --- |
| Prerequisites | Before starting, ensure that you have met the Loopback IP prerequisites expected by your<br>database.<br><br>The Hadoop distribution must be properly installed, so as to guarantee the interaction<br>with *Talend Studio*. The following list presents MapR related information for<br>example.<br><br><ul> <li> <p>Ensure that you have installed the MapR client in the machine where the Studio is,				and added the MapR client library to the PATH variable of that machine.  According				to MapR's documentation, the library or libraries of a MapR client corresponding to				each OS version can be found under <em>MAPR_INSTALL\					hadoop\hadoop-VERSION\lib\native</em>. For example, the library for				Windows is <em>\lib\native\MapRClient.dll</em> in the MapR				client jar file. For further information, see the following link from MapR: <a href="http://www.mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-mapr" target="_blank">http://www.mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-mapr</a>.</p> <p>Without adding the specified library or libraries, you may encounter the following				error: <span>no MapRClient in java.library.path</span>.</p> </li> <li> <p>Set the <span>-Djava.library.path</span> argument, for example, in the <span>Job Run VM arguments</span> area				of the <span>Run/Debug</span> view in the <span>Preferences</span> dialog box in the <span>Window</span> menu. This argument provides to the Studio the path to the				native library of that MapR client. This allows the subscription-based users to make				full use of the <span>Data viewer</span> to view locally in the				Studio the data stored in MapR.</p> </li> </ul><br><br>For further information about how to install a Hadoop distribution, see the manuals<br>corresponding to the Hadoop distribution you are using. |
| 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. |