# tMapROjaiInput Standard properties

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

The Standard tMapROjaiInput component belongs to the Databases NoSQL family.

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

## Basic settings

| Distribution and Version | Select the version of your MapR cluster. This cluster must host the MapR-DB database to be used. |
| --- | --- |
| 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><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><br><br>Click Edit<br>schema to make changes to the schema.<br><br>Information noteNote: If you<br>make changes, the schema automatically becomes built-in.<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><br><br>This component supports the Document type. If a field is for entire<br>documents, select Document in the Type column for this field in the schema editor.<br><br>Click Sync<br>columns to retrieve the schema from the previous component connected in the<br>Job. |
| Use kerberos authentication | If you are accessing a MapR-DB as-OJAI database<br>running with Kerberos security, select this check box, then, enter the Kerberos<br>principal name and password in the displayed fields.<br><br>Every time when you launch your Job, the<br>component submits this authentication information to Kerberos for a new kinit<br>ticket.<br><br><ul> <li> <p>If the MapR ticket security mechanism is also set up along with Kerberos,                            this component issues a <span>mapr login</span> command to obtain a                            MapR ticket at the same time.</p> </li> <li> <p>If only the MapR ticket security mechanism is set up for your cluster                            while Kerberos is not, keep this check box clear. The component obtains                            a MapR ticket itself via your MapR                            Client.</p> </li> </ul> |
| 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 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. |
| Restrict partial sorts with Secondary Indexes | Select this check box to force the query to explicitly sort on the actual<br>data. This way, you avoid in your query the partial sorts that could<br>otherwise occur due to the asynchronous secondary indexes.<br><br>For further information about this partial sorts issue of MapR OJAI, see<br>[Asynchronous Secondary Index<br>Updates](https://maprdocs.mapr.com/home/MapR-DB/Indexes/indexes-consistency.html#indexes-consistency) from the MapR documentation.<br><br>Do not select this check box if you do not expect to encounter the lags<br>in the asynchronous indexes or you know that the impact of the lags is<br>trivial. By keeping this check box clear, your query benefits from the<br>ordering advantages provided by the secondary indexes of MapR-DB JSON<br>tables. |
| Table name | Enter the name of the table to be processed. |
| Query | Specify the where clause of the query to be performed by<br>tMapROjaiInput.<br><br>For example, type in "{id:{$eq:<br>4}}" or "{id:4}}"to retrieve the record in<br>which *id* is *4*.<br><br>As OJAI uses MongoDB query format for queries, see [Query Operators](https://docs.mongodb.com/manual/reference/operator/query/) from the<br>MongoDB documentation for available operators. |
| Mapping | Each column of the schema defined for this component represents a field of the documents<br>to be read. In this table, you need to specify the parent nodes of these fields, if<br>any.<br><br>For example, in the document reading as<br>follows<br><br>```<br>{<br>_id: ObjectId("5099803df3f4948bd2f98391"),<br>person: { first: "Joe", last: "Walker" }<br>}<br>```<br><br><br>The<br>*first* and the *last*<br>fields have *person* as their parent node but the *\_id* field does not have any parent node. So once completed, this<br>Mapping table should read as<br>follows:<br><br>```<br>Column     Parent node path<br>_id<br>first       "person"<br>last        "person"<br>``` |

## Advanced settings

| tStatCatcher Statistics | Select this check box to gather the Job processing metadata at the Job level<br>as well as at each component level. |
| --- | --- |

## 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><br>NB\_LINE: the number<br>of rows read by an input component or transferred to an output component. This is an<br>After variable and it returns an integer.<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** | tMapROjaiInput executes queries to read data from a<br>given MapR-DB database. It is a starting component of a Job and requires<br>an outgoing link to send data to its following component. |
| --- | --- |