Skip to main content
1

In the Data Portal, click Tables and then click Create Table.

2

Select Kafka as the Data Source.

3

Create a New Connection.

Click New Connection. If you want to use an existing connection, select the connection from the list and proceed to Step 5.Enter a Source Name for the new connection and specify the Broker URL.Select the Security Protocol to be used for authentication, from the drop-down list.
4

Configure Connection Parameters

Add the connection parameters according to your authentication method.

Connecting to Kafka with No Authentication

Use the following connection JSON when connecting to Kafka without authentication.

Property Descriptions

Connecting to Kafka with SASL_PLAINTEXT or SASL_SSL Security Protocol

Use the following connection JSON when Kafka is configured with the SASL_PLAINTEXT or SASL_SSL security protocol enabled.

Property Descriptions

Connecting to Kafka with SSL Security Protocol

See prerequisites for SSL for steps to obtain the bootstrap server endpoint, the server certificate, the client certificate, and the client key, and to update an SSL certificate.

One-way SSL (Server Authentication)

In one-way SSL, only the server presents its SSL certificate to the client to prove its identity. The client verifies the server’s certificate using a trusted Certificate Authority (CA) before establishing an encrypted connection. Use the following connection JSON when Kafka is configured with the SSL security protocol enabled:

Two-way SSL (Mutual Authentication)

In two-way SSL, both the client and the server present certificates to authenticate each other. The server verifies the client’s certificate, and the client verifies the server’s certificate. This setup provides a higher level of security and trust, commonly used. Use the following connection JSON when Kafka is configured with the SSL security protocol enabled:
The values for the ssl properties (server/client certificate, key) need to be base64 encoded.

Property Descriptions

5

Test the Connection and Configure Data Ingestion

After you have configured the connection properties, test the connection to ensure it is working.

Configure Data Ingestion

When the connection is successful, use the following JSON to configure the source’s Kafka topic and data format:

Property Descriptions

Additional Configuration

The parameters mentioned above are the minimum-required parameters to establish the connection. Apache Pinot also provides additional configuration options to fine-tune and control the ingestion process. For a complete list of configuration parameters, refer to the Apache Pinot documentation. In addition, Kafka Consumer properties can also be used.

Configure Record Reader

One configuration option AvroRecordReaderConfig is supported.
  • enableLogicalTypes: Enable logical type conversions for specific Avro logical types, such as DECIMAL, UUID, DATE, TIME_MILLIS, TIME_MICROS, TIMESTAMP_MILLIS, and TIMESTAMP_MICROS.
For example, if the schema type is INT, logical type is DATE, the conversion applied is a TimeConversion, and the value is V; then a date is generated V days from epoch start.
ProtoBufRecordReaderConfig exists in Pinot and the following configuration is possible.
6

Preview the Sample Data

Click Show Sample Data to see a preview of the source data.

Next Step

Proceed with Data Modeling.