Skip to content
Apache Pinot (Incubating) - A realtime distributed OLAP datastore
Java JavaScript CSS HTML FreeMarker Shell Other
Branch: master
Clone or download
fx19880617 and Jackie-Jiang Fixing the issue of selection order-by won't give correct ordering (#…
…4540)

Fixing the issue of selection order-by won't give correct ordering
Enhance the integration test to check the order of the result for selection order-by queries
Latest commit cf9974c Aug 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Add Pinot code style (#3705) Jan 18, 2019
contrib/pinot-druid-benchmark Auto-reformat all java source files (#3739) Jan 29, 2019
docker Adding script to build and publish docker image (#4200) Jun 13, 2019
docs Simplify ControllerRequestURLBuilder, remove invalid URLs (#4512) Aug 9, 2019
licenses-binary Prepare licenses for 0.2 (#4290) Jun 13, 2019
licenses Update LICENSE and NOTICE files (#3722) Jan 31, 2019
pinot-api Adding Calcite SQL Parser and make another entry point to query Pinot ( Jul 10, 2019
pinot-azure-filesystem Move pinot-filesystem into pinot-common (#4155) Apr 24, 2019
pinot-broker Expose table-name via StreamConfig (#4543) Aug 20, 2019
pinot-common [Instance Assignment] Plug in segment assignment for offline segment … Aug 22, 2019
pinot-connectors Expose table-name via StreamConfig (#4543) Aug 20, 2019
pinot-controller [Instance Assignment] Plug in segment assignment for offline segment … Aug 22, 2019
pinot-core Fixing the issue of selection order-by won't give correct ordering (#… Aug 22, 2019
pinot-distribution Adding Support for Kafka 2.0 Consumer (#4397) Jul 29, 2019
pinot-hadoop-filesystem Move pinot-filesystem into pinot-common (#4155) Apr 24, 2019
pinot-hadoop Delete extra refreshed segments after segment push (#4464) Jul 30, 2019
pinot-integration-tests Fixing the issue of selection order-by won't give correct ordering (#… Aug 22, 2019
pinot-minion [Instance Assignment] Enhance Instance class to include the pool conf… Aug 13, 2019
pinot-orc Move Parquet related classes to the new package (#4073) Apr 4, 2019
pinot-parquet Move Parquet related classes to the new package (#4073) Apr 4, 2019
pinot-perf Adding Support for Kafka 2.0 Consumer (#4397) Jul 29, 2019
pinot-server Adding config to use let controller/broker/server to set hostname (#4517 Aug 10, 2019
pinot-tools [Instance Assignment] Plug in segment assignment for offline segment … Aug 22, 2019
pinot-transport Remove the usage of guava deprecated methods (#4457) Jul 24, 2019
thirdeye [TE] Skip creating notification task when there is no anomaly to noti… Aug 21, 2019
.codecov.yml Update license-maven-plugin setting to correctly exclude files (#3691) Jan 15, 2019
.codecov_bash Fix codecov ignore coverage for certain files (#1054) Feb 14, 2017
.gitignore Change ControllerTest default prot to 18998 (#4259) May 31, 2019
.travis.yml Adding Support for Kafka 2.0 Consumer (#4397) Jul 29, 2019
.travis_install.sh Adding Support for Kafka 2.0 Consumer (#4397) Jul 29, 2019
.travis_test.sh Adding Support for Kafka 2.0 Consumer (#4397) Jul 29, 2019
DISCLAIMER Update pom files for preparing Apache release (#3772) Feb 1, 2019
HEADER Cleaning up the license-maven-plugin (#3706) Jan 17, 2019
LICENSE Update the display for sidebar navigation to include section names (#… Mar 6, 2019
LICENSE-binary Updating license and notice binary files for aea8fca (#4524) Aug 13, 2019
NOTICE Update pom files for preparing Apache release (#3772) Feb 1, 2019
NOTICE-binary Updating license and notice binary files for aea8fca (#4524) Aug 13, 2019
README.md brag about Star-Tree Index support (#4530) Aug 14, 2019
pom.xml Down-grade Helix to version 0.8.4 (#4502) Aug 7, 2019
rstheaderdefinition.xml Add header definition for rst files (#3860) Feb 21, 2019

README.md

Apache Pinot (incubating)

Build Status codecov.io Join the chat at https://gitter.im/linkedin/pinot license

Apache Pinot is a realtime distributed OLAP datastore, which is used to deliver scalable real time analytics with low latency. It can ingest data from offline data sources (such as Hadoop and flat files) as well as online sources (such as Kafka). Pinot is designed to scale horizontally.

These presentations on Pinot give an overview of Pinot:

Looking for the ThirdEye anomaly detection and root-cause analysis platform? Check out the Pinot/ThirdEye project

Key Features

  • A column-oriented database with various compression schemes such as Run Length, Fixed Bit Length
  • Pluggable indexing technologies - Sorted Index, Bitmap Index, Inverted Index, Star-Tree Index
  • Ability to optimize query/execution plan based on query and segment metadata
  • Near real time ingestion from Kafka and batch ingestion from Hadoop
  • SQL like language that supports selection, aggregation, filtering, group by, order by, distinct queries on fact data
  • Support for multivalued fields
  • Horizontally scalable and fault tolerant

Because of the design choices we made to achieve these goals, there are certain limitations present in Pinot:

  • Pinot is not a replacement for database i.e it cannot be used as source of truth store, cannot mutate data
  • Not a replacement for search engine i.e full text search, relevance not supported
  • Query cannot span across multiple tables

Pinot works very well for querying time series data with lots of Dimensions and Metrics. Example - Query (profile views, ad campaign performance, etc.) in an analytical fashion (who viewed this profile in the last weeks, how many ads were clicked per campaign).

Instructions to build Pinot

More detailed instructions can be found at Quick Demo section in the documentation.

# Clone a repo
$ git clone https://github.com/apache/incubator-pinot.git
$ cd incubator-pinot

# Build Pinot
$ mvn clean install -DskipTests -Pbin-dist

# Run Quck Demo
$ cd pinot-distribution/target/apache-pinot-incubating-<version>-SNAPSHOT-bin
$ bin/quick-start-offline.sh

Getting Involved

Documentation

Check out Pinot documentation for a complete description of Pinot's features.

License

Apache Pinot is under Apache License, Version 2.0

You can’t perform that action at this time.