tKafkaOutput - 6.3

Talend Open Studio for Big Data Components Reference Guide

Talend Open Studio for Big Data
Data Governance
Data Quality and Preparation
Design and Development
Talend Studio


This component receives messages serialized into byte arrays by its preceding component and issues these messages into a given Kafka system.


The tKafkaOutput component publishes messages into a Kafka system.

tKafkaOutput properties

Component family



Basic settings

Schema and Edit schema

A schema is a row description. It defines the number of fields (columns) to be processed and passed on to the next component. The schema is either Built-In or stored remotely in the Repository.

Note that the schema of this component is read-only. It stores the messages to be published.


Use an existing connection

Select this check box and in the Component List click the relevant connection component to reuse the connection details you already defined.



Select the version of the Kafka cluster to be used.


Broker list

Enter the addresses of the broker nodes of the Kafka cluster to be used.

The form of this address should be hostname:port. This information is the name and the port of the hosting node in this Kafka cluster.

If you need to specify several addresses, separate them using a comma (,).

 Topic name

Enter the name of the topic you want to publish messages to. This topic must already exist.


Compress the data

Select the Compress the data check box to compress the output data.



Select this check box to enable the SSL or TLS encrypted connection.

Then you need to use the tSetKeystore component in the same Job to specify the encryption information.

For further information about tSetKeystore, see tSetKeystore.

This check box is available since Kafka


Use Kerberos authentication

If the Kafka cluster to be used is secured with Kerberos, select this check box to display the related parameters to be defined:

  • JAAS configuration path: enter the path, or browse to the JAAS configuration file to be used by the Job to authenticate as a client to Kafka.

    This JAAS file describes how the clients, the Kafka-related Jobs in terms of Talend, can connect to the Kafka broker nodes, using either the kinit mode or the keytab mode. It must be stored in the machine where these Jobs are executed.

    Talend, Kerberos or Kafka does not provide this JAAS file. You need to create it by following the explanation in Configuring Kafka client depending on the security strategy of your organization.

  • Kafka brokers principal name: enter the primary part of the Kerberos principal you defined for the brokers when you were creating the broker cluster. For example, in this principal kafka/, the primary part to be used to fill in this field is kafka.

  • Set kinit command path: Kerberos uses a default path to its kinit executable. If you have changed this path, select this check box and enter the custom access path.

    If you leave this check box clear, the default path is used.

  • Set Kerberos configuration path: Kerberos uses a default path to its configuration file, the krb5.conf file (or krb5.ini in Windows) for Kerberos 5 for example. If you have changed this path, select this check box and enter the custom access path to the Kerberos configuration file.

    If you leave this check box clear, a given strategy is applied by Kerberos to attempt to find the configuration information it requires. For details about this strategy, see the Locating the krb5.conf Configuration File section in Kerberos requirements.

For further information about how a Kafka cluster is secured with Kerberos, see Authenticating using SASL.

This check box is available since Kafka

Advanced settings

Kafka properties

Add the Kafka new producer properties you need to customize to this table.

For further information about the new producer properties you can define in this table, see the section describing the new producer configuration in Kafka's documentation in


tStatCatcher Statistics

Select this check box to gather the processing metadata at the Job level as well as at each component level.


This component is an end component. It requires a tJavaRow or tJava component to transform the incoming data into serialized byte arrays.

The following sample shows how to construct a statement to perform this transformation:

output_row.serializedValue = input_row.users.getBytes();

In this code, the output_row variable represents the schema of the data to be output to tKafkaOutput and output_row.serializedValue the single read-only column of that schema; the input_row variable represents the schema of the incoming data and input_row.users the input column called users to be transformed to byte arrays by the getBytes() method.

Related scenarios

No scenario is available for this component yet.