Quick Start Examples
This section describes quick start commands that launch all Pinot components in a single process.
Pinot ships with QuickStart commands that launch Pinot components in a single process and import pre-built datasets. These QuickStarts are a good place if you're just getting started with Pinot.
macOS Monterey Users
By default the Airplay receiver server runs on port 7000, which is also the port used by the Pinot Server in the Quick Start. You may see the following error when running these examples:
Failed to start a Pinot [SERVER]
java.lang.RuntimeException: java.net.BindException: Address already in use
at org.apache.pinot.core.transport.QueryServer.start(QueryServer.java:103) ~[pinot-all-0.9.0-jar-with-dependencies.jar:0.9.0-cf8b84e8b0d6ab62374048de586ce7da21132906]
at org.apache.pinot.server.starter.ServerInstance.start(ServerInstance.java:158) ~[pinot-all-0.9.0-jar-with-dependencies.jar:0.9.0-cf8b84e8b0d6ab62374048de586ce7da21132906]
at org.apache.helix.manager.zk.ParticipantManager.handleNewSession(ParticipantManager.java:110) ~[pinot-all-0.9.0-jar-with-dependencies.jar:0.9.0-cf8b84e8b0d6ab62374048de586ce7da2113If you disable the Airplay receiver server and try again, you shouldn't see this error message anymore.
Batch
This example demonstrates how to do batch processing with Pinot. The command:
Starts Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server.
Creates the
baseballStatstableLaunches a standalone data ingestion job that builds one segment for a given CSV data file for the
baseballStatstable and pushes the segment to the Pinot Controller.Issues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type batchBatch JSON
This example demonstrates how to import and query JSON documents in Pinot. The command:
Starts Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server.
Creates the
githubEventstableLaunches a standalone data ingestion job that builds one segment for a given JSON data file for the
githubEventstable and pushes the segment to the Pinot Controller.Issues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type batch_json_indexBatch with complex data types
This example demonstrates how to do batch processing in Pinot where the data items have complex fields that need to be unnested. The command:
Starts Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server.
Creates the
githubEventstableLaunches a standalone data ingestion job that builds one segment for a given JSON data file for the
githubEventstable and pushes the segment to the Pinot Controller.Issues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type batch_json_indexStreaming
This example demonstrates how to do stream processing with Pinot. The command:
Starts Apache Kafka, Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server.
Creates
meetupRsvptableLaunches a
meetupstreamPublishes data to a Kafka topic
meetupRSVPEventsthat is subscribed to by Pinot.Issues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type streamStreaming JSON
This example demonstrates how to do stream processing with JSON documents in Pinot. The command:
Starts Apache Kafka, Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server.
Creates
meetupRsvptableLaunches a
meetupstreamPublishes data to a Kafka topic
meetupRSVPEventsthat is subscribed to by PinotIssues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type stream_json_indexStreaming with minion cleanup
This example demonstrates how to do stream processing in Pinot with RealtimeToOfflineSegmentsTask and MergeRollupTask minion tasks continuously optimizing segments as data gets ingested. The command:
Starts Apache Kafka, Apache Zookeeper, Pinot Controller, Pinot Broker, Pinot Minion, and Pinot Server.
Creates
githubEventstableLaunches a GitHub events stream
Publishes data to a Kafka topic
githubEventsthat is subscribed to by Pinot.Issues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type realtime_minionStreaming with complex data types
This example demonstrates how to do stream processing in Pinot where the stream contains items that have complex fields that need to be unnested. The command:
Starts Apache Kafka, Apache Zookeeper, Pinot Controller, Pinot Broker, Pinot Minion, and Pinot Server.
Creates
meetupRsvptableLaunches a
meetupstreamPublishes data to a Kafka topic
meetupRSVPEventsthat is subscribed to by Pinot.Issues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type stream_complex_typeUpsert
This example demonstrates how to do stream processing with upsert with Pinot. The command:
Starts Apache Kafka, Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server.
Creates
meetupRsvptableLaunches a
meetupstreamPublishes data to a Kafka topic
meetupRSVPEventsthat is subscribed to by PinotIssues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type upsertUpsert JSON
This example demonstrates how to do stream processing with upsert with JSON documents in Pinot. The command:
Starts Apache Kafka, Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server.
Creates
meetupRsvptableLaunches a
meetupstreamPublishes data to a Kafka topic
meetupRSVPEventsthat is subscribed to by PinotIssues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type upsert_json_indexHybrid
This example demonstrates how to do hybrid stream and batch processing with Pinot. The command:
Starts Apache Kafka, Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server.
Creates
airlineStatstableLaunches a standalone data ingestion job that builds segments under a given directory of Avro files for the
airlineStatstable and pushes the segments to the Pinot Controller.Launches a stream of flights stats
Publishes data to a Kafka topic
airlineStatsEventsthat is subscribed to by Pinot.Issues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type hybridJoin
This example demonstrates how to do joins in Pinot using the Lookup UDF. The command:
Starts Apache Zookeeper, Pinot Controller, Pinot Broker, and Pinot Server in the same container.
Creates the
baseballStatstableLaunches a data ingestion job that builds one segment for a given CSV data file for the
baseballStatstable and pushes the segment to the Pinot Controller.Creates the
dimBaseballTeamstableLaunches a data ingestion job that builds one segment for a given CSV data file for the
dimBaseballStatstable and pushes the segment to the Pinot Controller.Issues sample queries to Pinot
docker run \
-p 9000:9000 \
apachepinot/pinot:0.11.0 QuickStart \
-type joinLast updated
Was this helpful?

