> For the complete documentation index, see [llms.txt](https://docs.pinot.apache.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pinot.apache.org/build-with-pinot/ingestion/stream-ingestion.md).

# Stream Ingestion

Choose stream ingestion when Pinot should consume events continuously and expose new rows quickly.

Stream ingestion keeps Pinot close to the source of truth. Use it when rows should be queryable soon after they are emitted, and when the system needs a steady flow rather than periodic batch loads.

## Core decisions

Pick the stream connector and partitioning strategy.

Choose how Pinot should flush, commit, and complete segments.

Decide whether the table should remain purely realtime or later become hybrid.

## What matters most

The stream has to support the consumption mode you choose. The table config has to describe the partitioning, replicas, and segment lifecycle clearly enough that the servers can behave predictably under load.

## Learn more

The existing walk-throughs in [Import Data](/build-with-pinot/ingestion.md) and [Data Ingestion Overview](/build-with-pinot/ingestion.md) still contain the detailed mechanics.

## What this page covered

This page covered the stream-ingestion model and the main lifecycle choices behind it.

## Next step

Read [Upsert and Dedup](/build-with-pinot/ingestion/upsert-dedup.md) if the stream should collapse duplicate keys or keep only the latest row.

## Related pages

* [Ingestion](/build-with-pinot/ingestion.md)
* [Batch Ingestion](/build-with-pinot/ingestion/batch-ingestion.md)
* [Upsert and Dedup](/build-with-pinot/ingestion/upsert-dedup.md)
* [Formats and Filesystems](/build-with-pinot/ingestion/formats-filesystems.md)
* [Original Stream Docs](/build-with-pinot/ingestion/stream-ingestion/stream-ingestion.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.pinot.apache.org/build-with-pinot/ingestion/stream-ingestion.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
