Implementation:ArroyoSystems Arroyo Stdout Connector
| Knowledge Sources | |
|---|---|
| Domains | Streaming, Connectors |
| Last Updated | 2026-02-08 08:00 GMT |
Overview
StdoutConnector is a simple sink-only connector that writes serialized pipeline output to the process's standard output stream, useful for debugging and local development.
Description
The StdOut connector serializes records using a configurable format (defaults to JsonFormat if no format is specified) and writes them to tokio::io::stdout() via a BufWriter for buffered output. It uses ArrowSerializer for format conversion. The connector requires a schema and format definition, with EmptyConfig for both profile and table types. The make_operator method constructs a StdoutSink operator wrapping a buffered async stdout writer and the serializer. The connector supports custom schemas and is visible in the connector UI (hidden: false).
Usage
Use StdoutConnector for debugging Arroyo pipelines during local development, or when the output needs to be piped to another process via standard output.
Code Reference
Source Location
- Repository: ArroyoSystems_Arroyo
- File: crates/arroyo-connectors/src/stdout/mod.rs
Signature
pub struct StdoutConnector {}
impl Connector for StdoutConnector {
type ProfileT = EmptyConfig;
type TableT = EmptyConfig;
fn name(&self) -> &'static str; // returns "stdout"
fn table_type(&self, _: EmptyConfig, _: EmptyConfig) -> ConnectionType; // always Sink
fn from_config(&self, id: Option<i64>, name: &str, config: EmptyConfig,
table: EmptyConfig, schema: Option<&ConnectionSchema>) -> anyhow::Result<Connection>;
fn make_operator(&self, _: EmptyConfig, _: EmptyConfig,
c: OperatorConfig) -> anyhow::Result<ConstructedOperator>;
}
Import
use arroyo_connectors::stdout::StdoutConnector;
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| schema | ConnectionSchema | Yes | Schema for the data to output |
| format | Format | No | Serialization format (defaults to JSON if not specified) |
Outputs
| Name | Type | Description |
|---|---|---|
| stdout | Text stream | Serialized records written to standard output via buffered writer |
Usage Examples
CREATE TABLE stdout_sink (
value TEXT
) WITH (
connector = 'stdout',
format = 'json'
);