This section contains information on developing client applications with Java including information about the MapR-ES and Apache Kafka Java APIs, configuration parameters, and compiling and running producers and consumers.

Before you start developing applications on MapR’s Converged Data Platform, consider how you will get the data onto the
platform, the format it will be stored in, the type of processing or modeling that is required, and how the data will
be accessed.

This section contains information on developing client applications with Java including information about the MapR-ES and Apache Kafka Java APIs, configuration parameters, and compiling and running producers and consumers.

Use the MapR-ES Admin Java API library as an alternative to maprcli commands and the REST APIs for performing administrative tasks on streams and topics. This library can also be used
for analysis of the contents of streams.

For producer and consumer applications that use the MapR-ES Java API, use Maven to compile and determine the application's dependencies. Then, when you run the application,
specify those dependencies in the application's classpath.

C applications can be developed for MapR-ES (as of MapR 5.2.1). The MapR-ES C Client is a distribution of librdkafka that works with MapR-ES. The MapR-ES C Client is available in MapR Ecosystem Pack (MEP) 3.0 or higher.

As of MapR 5.2.1, you can create python applications for MapR-ES using the MapR-ES Python client. The MapR-ES Python client is a binding for librdkafka and the MapR-ES C Client is a distribution of librdkafka that works with MapR-ES.

As of MapR 6.0.1/MEP5.0, you can create C#/.NET applications for MapR-ES using the MapR-ES C#/.NET client. The MapR-ES C#/.NET client is a binding for librdkafka and the MapR-ES C Client is a distribution of librdkafka that works with MapR-ES.

Change the names of topics to include the path and name of the MapR Stream stream in
which the topic is located.

Here is the syntax to
use:

/<path and name of stream>:<name of topic>

For
example, you might have a stream in a MapR cluster that is named
stream_A, and the stream might be in a volume named
IoT and in a directory named automobile_sensors. You
want to redirect a producer application to a topic in that stream. The syntax of the
path to the topic might look like
this:

/mapr/IoT/automobile_sensors/stream_A:<name of topic>

If a producer application uses the Kafka interface Partitioner to compute which
partitions to publish messages to, revise the application so that it uses the
Kafka StreamsPartitioner interface instead.