# tCompareColumns properties for Apache Spark Batch

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

The Spark Batch tCompareColumns component belongs to the Natural Language Processing family.

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

## Basic settings

| 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 Sync<br>columns to retrieve the schema from the previous component connected in the<br>Job.<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><br><br>Add as many columns as necessary to the output schema according the<br>algorithms defined in the Comparison options<br>table:<br><br><ul> <li> <p>two columns for the <span>Most similar in list (2                                            outputs)</span> algorithm,</p> </li> <li> <p>two columns for the <span>First letter corresponds (1                                            output)</span> algorithm,</p> </li> <li> <p>two columns for the <span>Is substring (1                                            output)</span> algorithm.</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. |
| Comparison options | In this table, set the rules for comparing tokens in two columns.<br><br>The column specified in Main column contains the<br>tokens to be compared with the reference tokens in Reference<br>column.<br><br>In the Algorithms column, select the algorithm to<br>be used for each comparison:<br><br><ul> <li> <p> <span>Most similar in list (2 outputs)</span>: The                                    column specified in <span>Main column</span> contains                                    one token per row. Each row in the column specified in                                        <span>Reference column</span> can contain one                                    token or one string with multiple tokens separated by a tab. The                                    first output is the biggest Jaro-Winkler distance between the                                    token in <span>Main column</span> and all the tokens                                    in <span>Reference column</span>. The second one is                                    the most similar token in <span>Reference                                        column</span>.</p> </li> <li> <p> <span>First letter corresponds (1 output)</span>: The                                    columns specified in <span>Main column</span> and                                        <span>Reference column</span> contain one token                                    per row. In the output, <span>T</span> is returned if the                                    first letter of the two tokens are the same. <span>F</span>                                    is returned if they are different.</p> </li> <li> <p> <span>Is substring (1 output)</span>: The columns                                    specified in <span>Main column</span> and                                        <span>Reference column</span> contain one token                                    per row. In the output, <span>T</span> is returned if the                                    token in <span>Main column</span> is a substring of                                    the token from <span>Reference column</span>. If not,                                        <span>F</span> is returned.</p> </li> </ul><br><br><br>Output column(s): Specify the columns that contain<br>the comparison results in the output schema. |

## Usage

| **Usage rule** | This component is used as an intermediate step.<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. |
| --- | --- |
| Spark Batch 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-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/7.3/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/7.3/components/hdfs/thdfsconfiguration-properties-for-apache-spark-batch">tHDFSConfiguration Apache Spark Batch</a> or <a href="https://help.qlik.com/talend/r/en-US/7.3/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. |