# tHDFSInput Standard properties

These properties are used to configure tHDFSInput running in the Standard Job framework.

The Standard tHDFSInput component belongs to the Big Data and the File families.

The component in this framework is available in all Talend products with Big Data and in 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. |
| --- | --- |
| Schema and Edit 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>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> |
|  | Built-In: You create and store the schema locally for this component<br>only. |
|  | Repository: You have already created the schema and stored it in the<br>Repository. You can reuse it in various projects and Job designs. |
| *Use an existing connection* | Select this check box and in the Component List click the HDFS connection component from which<br>you want to reuse the connection details already defined.<br><br>Note that when a Job contains the parent Job and the child Job,<br>Component List presents only the<br>connection components in the same Job level. |
| Distribution | Select the cluster you are using from the drop-down list. The options in the<br>list vary depending on the component you are using. Among these options, the following<br>ones requires specific configuration:<br><br><ul> <li> <p>If available in this <span>Distribution</span> drop-down                        list, the <span>Microsoft HD                            Insight</span> option allows you to use a Microsoft HD Insight                        cluster. For this purpose, you need to configure the connections to the HD                        Insight cluster and the Windows Azure Storage service of that cluster in the                        areas that are displayed. For                            detailed explanation about these parameters, search for configuring the                            connection manually on <span>Talend Help Center</span> (<a href="https://help.talend.com/" target="_blank">https://help.talend.com</a>).                    </p> </li> <li> <p>If you select <span>Amazon EMR</span>, find more details about  Amazon EMR getting started in                                <span>Talend Help Center</span> (<a href="https://help.talend.com/" target="_blank">https://help.talend.com</a>).</p> </li> <li> <p>The <span>Custom</span> option                        allows you to connect to a cluster different from any of the distributions                        given in this list, that is to say, to connect to a cluster not officially                        supported by <span> <span>Talend</span> </span>.</p> </li> </ul><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>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 <a href="https://help.qlik.com/talend/r/en-US/7.3/hortonworks" target="_blank">Hortonworks</a>.</p> </li> </ol> |
| Version | Select the version of the Hadoop distribution you are using. The available<br>options vary depending on the component you are using. |
| Scheme | Select the URI scheme of the file system to be used from the<br>Scheme drop-down list. This scheme could be<br><br><ul> <li>HDFS</li> <li>WebHDFS. WebHDFS with SSL is not supported yet.</li> <li>ADLS. Only Azure Data Lake Storage Gen1 is supported.</li> </ul><br><br>The schemes present on this list vary depending on the distribution you<br>are using and only the scheme that appears on this list with a given<br>distribution is officially supported by Talend.<br><br>Once a scheme is<br>selected, the corresponding syntax such as<br>webhdfs://localhost:50070/ for WebHDFS is displayed in the<br>field for the NameNode location of your cluster.<br><br>If you have selected<br>ADLS, the connection parameters to be defined become:<br><br><ul> <li> <p> <span>In the <span>Client                                    ID</span> and the <span>Client                                    key</span> fields, enter, respectively, the authentication                                ID and the authentication key generated upon the registration of the                                application that the current Job you are developing uses to access                                Azure Data Lake Storage.</span> </p> <p>Ensure that the application to be used                            has appropriate permissions to access Azure Data Lake. You can check                            this on the Required permissions view of this application on Azure. For                            further information, see Azure documentation <a href="https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-service-to-service-authenticate-using-active-directory#step-3-assign-the-azure-ad-application-to-the-azure-data-lake-store-account-file-or-folder" target="_blank">Assign the Azure AD application to                                the Azure Data Lake Storage account file or folder</a>.</p> </li> <li> <p> <span>In the <span>Token                                    endpoint</span> field, copy-paste the OAuth 2.0 token                                endpoint that you can obtain from the <span>Endpoints</span> list accessible on the <span>App registrations</span> page on your                                Azure portal.</span> </p> </li> </ul><br><br><br>For a<br>video demonstration, see [Configure and use Azure in a<br>Job](https://www.youtube.com/watch?v=Ww9-sp5Kd1o). |
| NameNode URI | Type in the URI of the Hadoop NameNode, the master node of a<br>Hadoop system. For example, we assume that you have chosen a machine called *masternode* as the NameNode, then the location is<br>hdfs://masternode:portnumber. If you are using WebHDFS, the location should be<br>webhdfs://masternode:portnumber; WebHDFS with SSL is not<br>supported yet. |
| Use kerberos authentication | If you are accessing the Hadoop cluster running<br>with Kerberos security, select this check box, then, enter the Kerberos<br>principal name for the NameNode in the field displayed. This enables you to use<br>your user name to authenticate against the credentials stored in Kerberos.<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.3/mapr/connecting-to-security-enabled-mapr" target="_blank">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>This check box is available depending on the Hadoop distribution you are<br>connecting to. |
| Use a keytab to authenticate | Select the Use a keytab to authenticate<br>check box to log into a Kerberos-enabled system using a given keytab file. A keytab<br>file contains pairs of Kerberos principals and encrypted keys. You need to enter the<br>principal to be used in the Principal field and<br>the access path to the keytab file itself in the Keytab field. This keytab file must be stored in the machine in<br>which your Job actually runs, for example, on a Talend 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 username 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. |
| User name | The User name field is available when you are not using<br>Kerberos to authenticate. In the User name field, enter the<br>login username for your distribution. If you leave it empty, the username of the machine<br>hosting the Studio will be used. |
| Group | Enter the membership including the authentication user under which the HDFS instances were<br>started. This field is available depending on the distribution you are using. |
| File Name | Browse to, or enter the path pointing to the data to be used in the file system.<br><br>If the path you set points to a folder, this component will read all of the<br>files stored in that folder. Furthermore, if sub-folders exist in that folder<br>and you need to read files in the sub-folders, select the Include<br>sub-directories if path is directory check box in the<br>Advanced settings view. |
| Type | Select the type of the file to be processed. The type of the file may be:<br><br><ul> <li> <p> <span>Text file</span>.</p> </li> <li> <p> <span>Sequence file</span>: a Hadoop sequence file                    consists of binary key/value pairs and is suitable for the Map/Reduce framework.                    For further information, see <a href="http://wiki.apache.org/hadoop/SequenceFile" target="_blank">http://wiki.apache.org/hadoop/SequenceFile</a>. </p> <p>Once you select the <span>Sequence file</span> format, the                        <span>Key column</span> list and the <span>Value column</span> list appear to allow you to select the                    keys and the values of that Sequence file to be processed.</p> </li> </ul> |
| Row separator | The separator used to identify the end of a row.<br><br>This field is not available for a Sequence file. |
| Field separator | Enter a character, a string, or a regular expression to separate<br>fields for the transferred data.<br><br>This field is not available for a Sequence file. |
| Header | Set values to ignore the header of the transferred data. For example, enter<br>*0* to ignore no rows for the data without header and set *1* for<br>the data with header at the first row.<br><br>This field is not available for a Sequence file. |
| Custom encoding | You may encounter encoding issues when you process the stored data. In that<br>situation, select this check box to display the Encoding list.<br><br>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/).<br><br>This option is not available for a Sequence file. |
| Compression | Select the Uncompress the data check box to uncompress<br>the input data.<br><br>Hadoop provides different compression formats that help reduce the space needed for<br>storing files and speed up data transfer. When reading a compressed file, the Studio needs<br>to uncompress it before being able to feed it to the input flow.<br><br>This option is not available for a Sequence file. |

## Advanced settings

| Include sub-directories if path is<br>directory | Select this check box to read not only the folder you have<br>specified in the File name field<br>but also the sub-folders in that folder. |
| --- | --- |
| Hadoop properties | *Talend Studio* uses a default configuration for its engine to perform<br>operations in a Hadoop distribution. If you need to use a custom configuration in a specific<br>situation, complete this table with the property or properties to be customized. Then at<br>runtime, the customized property or properties will override those default ones.<br><br><ul> <li> <p>Note that if you are using the centrally stored metadata from the <span>Repository</span>, this table automatically inherits the					properties defined in that metadata and becomes uneditable unless you change the						<span>Property type</span> from <span>Repository</span> to <span>Built-in</span>.</p> </li> </ul><br><br>For further information about the properties required by Hadoop and its related systems such<br>as HDFS and Hive, see the documentation of the Hadoop distribution you<br>are using or see Apache's Hadoop documentation on http://hadoop.apache.org/docs and then select the version of the documentation you want. For demonstration purposes, the links to some properties are listed below:<br><br><ul> <li> <p>Typically, the HDFS-related properties can be found in the <em>hdfs-default.xml</em> file of your distribution, such as						<a href="http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml" target="_blank">						http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml</a>.</p> </li> <li> <p>Apache also provides a page to list the Hive-related properties: <a href="https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties" target="_blank">https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties</a>.</p> </li> </ul> |
| tStatCatcher Statistics | Select this check box to collect log data at the component level.<br>Note that this check box is not available in the Map/Reduce version<br>of the component. |

## Global Variables

| Global Variables | ERROR\_MESSAGE: the error message generated by the component when an<br>error occurs. This is an After variable and it returns a string. This variable functions<br>only if the Die on error check box<br>is cleared, if the component has this check<br>box.<br><br>A Flow variable functions during the execution of a component<br>while an After variable functions after the execution of the component.<br><br>To fill up a field or expression with a<br>variable, press Ctrl + Space to<br>access the variable list and choose the variable to use from it.<br><br>For further information about variables, see *Talend Studio*<br>*User Guide*. |
| --- | --- |

## Usage

| **Usage rule** | This component needs an output link. |
| --- | --- |
| Dynamic settings | Click the [+] button to add a row in the<br>table and fill the Code field with a context variable<br>to choose your HDFS connection dynamically from multiple connections planned in your<br>Job. This feature is useful when you need to access files in different HDFS systems or<br>different distributions, especially when you are working in an environment where you<br>cannot change your Job settings, for example, when your Job has to be deployed and<br>executed independent of *Talend Studio*.<br><br>The Dynamic settings table is<br>available only when the Use an existing<br>connection check box is selected in the Basic settings view. Once a dynamic parameter is<br>defined, the Component List box in the<br>Basic settings view becomes unusable.<br><br>For examples on using dynamic parameters, see [Reading data from databases through context-based dynamic connections](https://help.qlik.com/talend/r/en-US/7.3/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections) and [Reading data from different MySQL databases using dynamically loaded connection parameters](https://help.qlik.com/talend/r/en-US/7.3/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters). For more information on Dynamic<br>settings and context variables, see Talend Studio<br>User Guide. |
| Prerequisites | 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. |
| Limitations | JRE 1.6+ is required. |