[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4338":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},4338,"pinot","apache\u002Fpinot","apache","Apache Pinot - A realtime distributed OLAP datastore","https:\u002F\u002Fpinot.apache.org\u002F",null,"Java",6097,1481,224,1284,0,4,21,1,40.51,"Apache License 2.0",false,"master",true,[26],"java","2026-06-12 02:01:02","\u003C!--\n\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See the NOTICE file\n    distributed with this work for additional information\n    regarding copyright ownership.  The ASF licenses this file\n    to you under the Apache License, Version 2.0 (the\n    \"License\"); you may not use this file except in compliance\n    with the License.  You may obtain a copy of the License at\n\n      http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing,\n    software distributed under the License is distributed on an\n    \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n    KIND, either express or implied.  See the License for the\n    specific language governing permissions and limitations\n    under the License.\n\n-->\n\u003Cdiv align=\"center\">\n    \n\u003Cimg src=\"https:\u002F\u002Fimgur.com\u002FwBkyzNm.png\" align=\"center\" alt=\"Apache Pinot\"\u002F>\n\n---------------------------------------\n[![Unit Tests](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Factions\u002Fworkflows\u002Fpinot_unit_tests.yml\u002Fbadge.svg?event=push)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Factions\u002Fworkflows\u002Fpinot_unit_tests.yml)\n[![Integration Tests](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Factions\u002Fworkflows\u002Fpinot_integration_tests.yml\u002Fbadge.svg?event=push)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Factions\u002Fworkflows\u002Fpinot_integration_tests.yml)\n[![Quickstart Tests](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Factions\u002Fworkflows\u002Fpinot_quickstart_tests.yml\u002Fbadge.svg?event=push)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Factions\u002Fworkflows\u002Fpinot_quickstart_tests.yml)\n[![Compatibility Checks](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Factions\u002Fworkflows\u002Fpinot_compatibility_checks.yml\u002Fbadge.svg?event=push)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Factions\u002Fworkflows\u002Fpinot_compatibility_checks.yml)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fapache\u002Fpinot\u002Fall.svg)](https:\u002F\u002Fpinot.apache.org\u002Fdownload\u002F)\n[![codecov.io](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Fapache\u002Fpinot\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Fapache\u002Fpinot)\n[![Join the chat at https:\u002F\u002Fcommunityinviter.com\u002Fapps\u002Fapache-pinot\u002Fapache-pinot](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-apache--pinot-brightgreen?logo=slack)](https:\u002F\u002Fcommunityinviter.com\u002Fapps\u002Fapache-pinot\u002Fapache-pinot)\n[![Twitter Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fapachepinot.svg?label=Follow&style=social)](https:\u002F\u002Ftwitter.com\u002Fintent\u002Ffollow?screen_name=apachepinot)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fapache\u002Fpinot.svg)](LICENSE)\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002Fapache\u002Fpinot)\n\n\n\u003C\u002Fdiv>\n\n- [What is Apache Pinot?](#what-is-apache-pinot)\n  - [Features](#features)\n  - [When should I use Pinot?](#when-should-i-use-pinot)\n  - [Contributing to Pinot](#contributing-to-pinot)\n  - [Apache Pinot YouTube Channel](#apache-pinot-youtube-channel)\n  - [Building Pinot](#building-pinot)\n  - [Deploying Pinot to Kubernetes](#deploying-pinot-to-kubernetes)\n  - [Join the Community](#join-the-community)\n  - [Documentation](#documentation)\n  - [License](#license)\n\n# What is Apache Pinot?\n\n[Apache Pinot](https:\u002F\u002Fpinot.apache.org) is a real-time distributed OLAP datastore, built to deliver scalable real-time analytics with low latency. It can ingest from batch data sources (such as Hadoop HDFS, Amazon S3, Azure ADLS, Google Cloud Storage) as well as stream data sources (such as Apache Kafka).\n\nPinot was built by engineers at LinkedIn and Uber and is designed to scale up and out with no upper bound. Performance always remains constant based on the size of your cluster and an expected query per second (QPS) threshold.\n\nFor getting started guides, deployment recipes, tutorials, and more, please visit our project documentation at [https:\u002F\u002Fdocs.pinot.apache.org](https:\u002F\u002Fdocs.pinot.apache.org).\n\n\u003Cimg src=\"https:\u002F\u002Fpinot.apache.org\u002Fstatic\u002Fimages\u002Fhero_diagram.svg\" align=\"center\" alt=\"Apache Pinot\"\u002F>\n\n## Features\n\nPinot was originally built at LinkedIn to power rich interactive real-time analytic applications such as [Who Viewed Profile](https:\u002F\u002Fwww.linkedin.com\u002Fme\u002Fprofile-views\u002Furn:li:wvmp:summary\u002F),  [Company Analytics](https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Flinkedin\u002Finsights\u002F),  [Talent Insights](https:\u002F\u002Fbusiness.linkedin.com\u002Ftalent-solutions\u002Ftalent-insights), and many more. [UberEats Restaurant Manager](https:\u002F\u002Feng.uber.com\u002Frestaurant-manager\u002F) is another example of a customer facing Analytics App. At LinkedIn, Pinot powers 50+ user-facing products, ingesting millions of events per second and serving 100k+ queries per second at millisecond latency.\n\n* **Fast Queries**: Filter and aggregate petabyte data sets with P90 latencies in the tens of milliseconds—fast enough to return live results interactively in the UI.\n\n* **High Concurrency**: With user-facing applications querying Pinot directly, it can serve hundreds of thousands of concurrent queries per second.\n\n* **SQL Query Interface**: The highly standard SQL query interface is accessible through a built-in query editor and a REST API.\n\n* **Versatile Joins**: Perform arbitrary fact\u002Fdimension and fact\u002Ffact joins on petabyte data sets.\n\n* **Column-oriented**: a column-oriented database with various compression schemes such as Run Length, Fixed Bit Length.\n\n* [**Pluggable indexing**](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Findexing): pluggable indexing technologies including [timestamp](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Findexing\u002Ftimestamp-index), [inverted](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Findexing\u002Finverted-index), [StarTree](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Findexing\u002Fstar-tree-index), [Bloom filter](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Findexing\u002Fbloom-filter), [range](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Findexing\u002Frange-index), [text](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Findexing\u002Ftext-search-support), [JSON](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Findexing\u002Fjson-index), and [geospatial](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Findexing\u002Fgeospatial-support) options.\n\n* **Stream and batch ingest**: Ingest from [Apache Kafka](https:\u002F\u002Fkafka.apache.org\u002F), [Apache Pulsar](https:\u002F\u002Fpulsar.apache.org\u002F), and [AWS Kinesis](https:\u002F\u002Faws.amazon.com\u002Fkinesis\u002F) in real time. Batch ingest from Hadoop, Spark, AWS S3, and more. Combine batch and streaming sources into a single table for querying.\n\n* **Upsert during real-time ingestion**: update the data at-scale with consistency\n\n* **Built-in Multitenancy**: Manage and secure data in isolated logical namespaces for cloud-friendly resource management.\n\n* **Built for Scale**: Pinot is horizontally scalable and fault-tolerant, adaptable to workloads across the storage and throughput spectrum.\n\n* **Cloud-native on Kubernetes**: Helm chart provides a horizontally scalable and fault-tolerant clustered deployment that is easy to manage using Kubernetes.\n\n\u003Ca href=\"https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Fgetting-started\">\u003Cimg src=\"https:\u002F\u002Fgblobscdn.gitbook.com\u002Fassets%2F-LtH6nl58DdnZnelPdTc%2F-MKaPf2qveUt5cg0dMbM%2F-MKaPmS1fuBs2CHnx9-Z%2Fpinot-ui-width-1000.gif?alt=media&token=53e4c5a8-a9cd-4610-a338-d54ea036c090\" align=\"center\" alt=\"Apache Pinot query console\"\u002F>\u003C\u002Fa>\n\n## When should I use Pinot?\n\nPinot is designed to execute real-time OLAP queries with low latency on massive amounts of data and events. In addition to real-time stream ingestion, Pinot also supports batch use cases with the same low latency guarantees. It is suited in contexts where fast analytics, such as aggregations, are needed on immutable data, possibly, with real-time data ingestion. Pinot works very well for querying time series data with lots of dimensions and metrics.\n\nExample query:\n```SQL\nSELECT sum(clicks), sum(impressions) FROM AdAnalyticsTable\n  WHERE\n       ((daysSinceEpoch >= 17849 AND daysSinceEpoch \u003C= 17856)) AND\n       accountId IN (123456789)\n  GROUP BY\n       daysSinceEpoch TOP 100\n```\n\n## Contributing to Pinot\n\nWant to contribute to Apache Pinot? 👋🍷\n\nWant to join the ranks of open source committers to Apache Pinot? Then check out the [Contribution Guide](https:\u002F\u002Fdocs.pinot.apache.org\u002Fdevelopers\u002Fdevelopers-and-contributors\u002Fcontribution-guidelines) for how you can get involved in the code.\n\nIf you have a bug or an idea for a new feature, browse the [open issues](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fissues) to see what we’re already working on before opening a new one.\n\nWe also tagged some [beginner issues](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fissues?q=is%3Aopen+is%3Aissue+label%3Abeginner-task) new contributors can tackle.\n\n## Apache Pinot YouTube Channel\n\nShare Your Pinot Videos with the Community!\n\nHave a Pinot use case, tutorial, or conference\u002Fmeetup recording to share? We’d love to feature it on the [Pinot OSS YouTube channel](https:\u002F\u002Fwww.youtube.com\u002F@Apache_Pinot\u002Fvideos)!\nDrop your video or a link to your session in the [#pinot-youtube-channel](https:\u002F\u002Fapache-pinot.slack.com\u002Farchives\u002FC08GH2MAVT4) on Pinot Slack, and we’ll showcase it for the community!\n\n## Building Pinot\n\n```\n# Clone a repo\n$ git clone https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot.git\n$ cd pinot\n\n# Pinot services require JDK 21+ to build and run\n# Java\u002FJDBC clients and SPI artifacts continue to target Java 11 bytecode\n\n# Build Pinot\n# -Pbin-dist is required to build the binary distribution\n# -Pbuild-shaded-jar is required to build the shaded jar, which is necessary for some features like spark connectors\n$ .\u002Fmvnw clean install -DskipTests -Pbin-dist -Pbuild-shaded-jar\n\n# Run the Quick Demo\n$ cd build\u002F\n$ bin\u002Fquick-start-batch.sh\n```\n\nFor UI development setup refer this [doc](https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fblob\u002Fmaster\u002Fpinot-controller\u002Fsrc\u002Fmain\u002Fresources\u002FReadme.md).\n\nNormal Pinot builds are done using the `.\u002Fmvnw clean install` command.\n\nHowever this command can take a long time to run.\n\nFor faster builds it is recommended to use `.\u002Fmvnw verify -Ppinot-fastdev`, which disables some plugins that are not actually needed for development.\n\nMore detailed instructions can be found at [Quick Demo](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Fgetting-started\u002Fquick-start) section in the documentation.\n\n### macOS Build Requirements\n\nIf you're building Pinot on macOS and encounter issues with the gRPC Java plugin during the build process, you may need to configure the protobuf Maven plugin to use a specific executable path. This is a known issue on macOS ARM (Apple Silicon) systems.\n\n#### Automatic Profile Activation (macOS ARM64)\n\nPinot's Maven build now includes dedicated profiles for Apple Silicon (ARM64) Macs to ensure reliable protobuf compilation with Homebrew-installed binaries:\n\n- **Primary profile:** Activates automatically if `\u002Fopt\u002Fhomebrew\u002Fbin\u002Fprotoc-gen-grpc-java` exists (default for Apple Silicon Macs).\n- **Fallback profile:** Activates if `\u002Fusr\u002Flocal\u002Fbin\u002Fprotoc-gen-grpc-java` exists and the primary path does not (for Intel Macs or custom Homebrew setups).\n\nYou do **not** need to manually edit the `pom.xml` or set the plugin executable path. The correct profile will be selected based on your system and Homebrew installation.\n\n##### To install the required tools:\n```bash\nbrew install protobuf\nbrew install protoc-gen-grpc-java\n```\n\nIf you installed Homebrew to a non-default location, ensure the `protoc-gen-grpc-java` binary is available in either `\u002Fopt\u002Fhomebrew\u002Fbin\u002F` or `\u002Fusr\u002Flocal\u002Fbin\u002F`.\n\nTo verify which profile is active, run:\n```bash\n.\u002Fmvnw help:active-profiles\n```\n\nIf you encounter issues, check that the `protoc-gen-grpc-java` binary is present in one of the expected locations and is executable.\n\n## Deploying Pinot to Kubernetes\nPlease refer to [Running Pinot on Kubernetes](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Fgetting-started\u002Fkubernetes-quickstart) in our project documentation. Pinot also provides Kubernetes integrations with the interactive query engine, [Trino](https:\u002F\u002Fdocs.pinot.apache.org\u002Fintegrations\u002Ftrino), and the data visualization tool, [Apache Superset](helm\u002Fsuperset.yaml).\n\n## Join the Community\n - Ask questions on [Apache Pinot Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fapache-pinot\u002Fshared_invite\u002Fzt-5z7pav2f-yYtjZdVA~EDmrGkho87Vzw)\n - Please join Apache Pinot mailing lists  \n   dev-subscribe@pinot.apache.org (subscribe to pinot-dev mailing list)  \n   dev@pinot.apache.org (posting to pinot-dev mailing list)  \n   users-subscribe@pinot.apache.org (subscribe to pinot-user mailing list)  \n   users@pinot.apache.org (posting to pinot-user mailing list)\n - Apache Pinot Meetup Group: https:\u002F\u002Fwww.meetup.com\u002Fapache-pinot\u002F\n\n## Documentation\nCheck out [Pinot documentation](https:\u002F\u002Fdocs.pinot.apache.org\u002F) for a complete description of Pinot's features.\n- [Quick Demo](https:\u002F\u002Fdocs.pinot.apache.org\u002Fgetting-started\u002Frunning-pinot-locally)\n- [Pinot Architecture](https:\u002F\u002Fdocs.pinot.apache.org\u002Fbasics\u002Farchitecture)\n- [Pinot Query Language](https:\u002F\u002Fdocs.pinot.apache.org\u002Fusers\u002Fuser-guide-query\u002Fpinot-query-language)\n\n## License\nApache Pinot is under [Apache License, Version 2.0](http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0)\n","Apache Pinot 是一个实时分布式的OLAP数据存储系统。它支持大规模数据的实时分析，具备低延迟查询和高吞吐量的特点，适用于需要即时数据分析的场景，如用户行为分析、监控系统等。Pinot 采用Java开发，能够高效处理PB级别的数据，并且支持多种数据源接入。此外，该项目拥有活跃的社区支持和丰富的文档资源，便于开发者快速上手与二次开发。其灵活性和强大的性能使其成为构建高性能数据分析平台的理想选择。",2,"2026-06-11 02:59:43","top_language"]