Skip to content

Commit 0b2e0a2

Browse files
committed
refactor: create generic arrow codec
1 parent 56c4b29 commit 0b2e0a2

File tree

24 files changed

+424
-1270
lines changed

24 files changed

+424
-1270
lines changed

Cargo.lock

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,6 @@ arc-swap = { version = "1.7", default-features = false, optional = true }
339339
async-compression = { version = "0.4.27", default-features = false, features = ["tokio", "gzip", "zstd"], optional = true }
340340
apache-avro = { version = "0.16.0", default-features = false, optional = true }
341341
arrow = { version = "56.2.0", default-features = false, features = ["ipc"], optional = true }
342-
arrow-schema = { version = "56.2.0", default-features = false, optional = true }
343342
axum = { version = "0.6.20", default-features = false }
344343
base64 = { workspace = true, optional = true }
345344
bloomy = { version = "1.2.0", default-features = false, optional = true }
@@ -580,8 +579,9 @@ enrichment-tables-mmdb = ["dep:maxminddb"]
580579
enrichment-tables-memory = ["dep:evmap", "dep:evmap-derive", "dep:thread_local"]
581580

582581
# Codecs
583-
codecs-syslog = ["vector-lib/syslog"]
582+
codecs-arrow = ["vector-lib/arrow"]
584583
codecs-opentelemetry = ["vector-lib/opentelemetry"]
584+
codecs-syslog = ["vector-lib/syslog"]
585585

586586
# Secrets
587587
secrets = ["secrets-aws-secrets-manager"]
@@ -845,7 +845,7 @@ sinks-azure_blob = ["dep:azure_core", "dep:azure_identity", "dep:azure_storage",
845845
sinks-azure_monitor_logs = []
846846
sinks-blackhole = []
847847
sinks-chronicle = []
848-
sinks-clickhouse = ["dep:arrow", "dep:arrow-schema", "dep:rust_decimal"]
848+
sinks-clickhouse = []
849849
sinks-console = []
850850
sinks-databend = ["dep:databend-client"]
851851
sinks-datadog_events = []
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
A generic Arrow codec has been added to support Apache Arrow IPC serialization across Vector. This enables sinks like `clickhouse` sink to use the ArrowStream format endpoint with significantly better performance and smaller payload sizes compared to JSON-based formats.
2+
3+
authors: benjamin-awd
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
The `clickhouse` sink now supports the `arrow_stream` format option, enabling high-performance binary data transfer using Apache Arrow IPC via Clickhouse's ArrowStream format endpoint. This provides significantly better performance and smaller payload sizes compared to JSON-based formats.
1+
A generic Arrow codec has been added to support Apache Arrow IPC serialization across Vector. This enables sinks like `clickhouse` sink to use the ArrowStream format endpoint with significantly better performance and smaller payload sizes compared to JSON-based formats.
22

33
authors: benjamin-awd

lib/codecs/Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ path = "tests/bin/generate-avro-fixtures.rs"
1111

1212
[dependencies]
1313
apache-avro = { version = "0.16.0", default-features = false }
14+
arrow = { version = "56.2.0", default-features = false, features = ["ipc"] }
1415
bytes.workspace = true
1516
chrono.workspace = true
17+
rust_decimal = { version = "1.37", default-features = false, features = ["std"] }
1618
csv-core = { version = "0.1.12", default-features = false }
1719
derivative.workspace = true
1820
dyn-clone = { version = "1", default-features = false }
@@ -53,5 +55,6 @@ uuid.workspace = true
5355
vrl.workspace = true
5456

5557
[features]
56-
syslog = ["dep:syslog_loose"]
58+
arrow = []
5759
opentelemetry = ["dep:opentelemetry-proto"]
60+
syslog = ["dep:syslog_loose"]

0 commit comments

Comments
 (0)