Ensure that a Kafka configuration instance for connecting to your Kafka server or cluster of servers is available in your system. For more information, see Creating a Kafka configuration instance.
If you want to use Schema Registry with your Kafka data set, download the Schema Registry component provided by Pega, and install and configure the component by following the instructions that are available in the Pega GitHub repository.
- In Dev Studio, click .
- Provide the data set label and identifier.
- From the Type list, select Kafka.
- Provide the ruleset, Applies to class, and ruleset version of the data set.
- Click Create and open.
- In the Connection section, in the Kafka configuration
instance field, perform one of the following actions:
- Select a Kafka configuration instance in the Data-Admin-Kafka class.
- Create a Kafka configuration instance (for example, when no instances are present)
by clicking the Open icon.
For more information, see Creating a Kafka configuration instance.
- Check whether the Pega Platform is connected to the Kafka cluster by clicking Test connectivity.
- In the Topic section, perform one of the following
- Select Create new, and then enter the topic name to define a new topic in the Kafka cluster.
- Select Select from list, and then connect to an existing topic in the Kafka cluster.
Note: By default, the name of the topic is the same as the name of the data set. If you enter a new topic name, that topic is created in the Kafka cluster only if the ability to automatically create topics is enabled on that Kafka cluster.
- Optional: In the Partition Key(s) section, define the data set
partitioning by performing the following actions:
By configuring partitioning you can ensure that related records are sent to the same partition. If no partition keys are set, the Kafka data set randomly assigns records to partitions.
- Click Add key.
- In the Key field, press the Down Arrow key to select a
property to be used by the Kafka data set as a partitioning key.
Note: By default, the available properties to be used as keys correspond to the properties of the Applies To class of the Kafka data set.
- Optional: You can configure the JSON Data Transform. It has the ability to map only the
properties that you want to map, or if you have a long JSON message with many attributes,
you can skip some of them. You can also have special characters in your property names
(for example, the $ sign), and then map them to the corresponding Pega properties. For
more information, see Data transform actions for JSON.
- In the header of Dev Studio, click .
- In the Label field, enter the purpose for the new record.
- In the Additional configuration options, select JSON.
- Select the Context and fill the Apply to field.
- In the Add to ruleset field, select the ruleset from the list.
- Click Create and open.
- Optional: Fill in the details of your JSON Data Transform.
- Click Save.
- In your Kafka data set creation ruleform, select Custom as the record format.
- In the Serialization implementation field, enter: com.pega.dsm.kafka.api.serde.DataTransformSerde.
- Click .
- In the Key field, enter: data.transform.name.
- In the Value field, enter the name of your data transform, that you created previously.
- Optional: If you want to use a different format for records than JSON, in the Record
format section, select Custom and configure the record
If you use Schema Registry with your Kafka data set, configure these settings according to the instructions that are provided with the Schema Registry component in the Pega GitHub repository.
For information about writing and configuring custom Kafka serialization, see Kafka custom serializer/deserializer implementation.
- In the Serialization implementation field, enter a fully
qualified Java class name for your PegaSerde implementation.
For example: com.pega.dsm.kafka.CsvPegaSerde
- Optional: Expand the Additional configuration section and define additional configuration options for the implementation class by clicking Add key value pair and entering properties in the Key and Value fields.
- In the Serialization implementation field, enter a fully qualified Java class name for your PegaSerde implementation.
- Click Save.