Consumers are applications that you create such as analytics applications, reporting tools, or enterprise dashboards.

They use the MapR-ES APIs to request messages from topics that they are interested in. In case of server failure, consumer clients continually retry requests automatically. A consumer client library sends unread messages, which consumers extract data from.

Consumers can run as separate processes on a single machine and as processes on different machines.

Before a consumer can read messages from topics, the user ID running the consumer needs these permissions:
  • The readAce permission on the volume where the streams are located. For information about how to set permissions on volumes, see Setting Whole Volume ACEs.
  • The consumeperm permission on the streams where the topics are located. Users with the adminperm permission on those streams can grant the consumeperm permission.


Consumers subscribe to topics. When a consumer subscribes to a topic or partition, it means that the consumer wants to receive messages from that topic or partition. For example, an analytics application might subscribe to the topics rfids_productA, rfids_productB, and more to track movement of products from factories to distribution centers. A reporting tool might subscribe to the topics meters_NW, meters_SW, and more to get a report of electricity usage in different geographic regions that a power company services.

A subscription is the list of the topics that a consumer is subscribed to.