# tGenKey

Generates a functional key from the input columns, by applying different types of algorithms on each column and grouping the computed results in one key, then outputs this key with the input columns.

tGenKey enables you to apply several kinds of algorithms on each input column and use the computed results to generate a functional key, which can be used, for example, to narrow down your data filter/matching results. These algorithms can be key or optional algorithms.

The values returned by the key algorithms will be concatenated, according to the column order in the Key composition table.

In local mode, Apache Spark 1.3.0, 1.4.0, 1.5.0, 1.6.0, 2.0.0, 2.3.0 and 2.4.0 are supported.

Depending on the Talend product you are using, this component can be used in one, some or all of the following Job frameworks:

* Standard: see [tGenKey Standard properties](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-standard-properties "These properties are used to configure tGenKey running in the Standard Job framework.").

  The component in this framework is available in Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, and in Talend Data Fabric.

* MapReduce: see [tGenKey MapReduce properties](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-mapreduce-properties "These properties are used to configure tGenKey running in the MapReduce Job framework.").

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

* Spark Batch: see [tGenKey properties for Apache Spark Batch](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-properties-for-apache-spark-batch "These properties are used to configure tGenKey running in the Spark Batch Job framework.").

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

* Spark Streaming: see [tGenKey properties for Apache Spark Streaming](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-properties-for-apache-spark-streaming "These properties are used to configure tGenKey running in the Spark Streaming Job framework.").

  This component is available in Talend Real Time Big Data Platform and Talend Data Fabric.

### In this section

* [tGenKey Standard properties](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-standard-properties)
* [tGenKey MapReduce properties](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-mapreduce-properties)
* [tGenKey properties for Apache Spark Batch](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-properties-for-apache-spark-batch)
* [tGenKey properties for Apache Spark Streaming](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-properties-for-apache-spark-streaming)

**Related concepts**

[Generating functional keys in the output flow](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-tfixedflowinput-tlogrow-tmatchgroup-generating-functional-keys-in-output-flow-standard-component-enterprise-this)

[Comparing columns and grouping in the output flow duplicate records that have the same functional key](https://help.qlik.com/talend/en-US/components/7.2/identification/tgenkey-tmatchgroup-trowgenerator-tlogrow-comparing-columns-and-grouping-in-output-flow-duplicate-records-that-have-same-functional-key-standard-component-enterprise-this)