Skip to content

Commit ff676bd

Browse files
committed
refactor(streaming): fast Avro encoding via column accessors
- Replace per-cell downcast and serde_json row maps with apache_avro::types::Value - Downcast each column once per RecordBatch; handle UInt64 and nullable unions explicitly - Add release profile defaults (strip, thin LTO, single codegen unit) to shrink binaries Made-with: Cursor
1 parent 7a95c67 commit ff676bd

2 files changed

Lines changed: 400 additions & 0 deletions

File tree

Cargo.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ arrow-array = "55"
5252
arrow-ipc = "55"
5353
arrow-schema = { version = "55", features = ["serde"] }
5454
parquet = "55"
55+
object_store = { version = "0.12.5", features = ["aws"] }
56+
bytes = "1"
5557
futures = "0.3"
5658
serde_json_path = "0.7"
5759
xxhash-rust = { version = "0.8", features = ["xxh3"] }
@@ -63,6 +65,7 @@ itertools = "0.14"
6365
strum = { version = "0.26", features = ["derive"] }
6466

6567
arrow-json = {version = '55.2.0'}
68+
apache-avro = "0.21"
6669
datafusion = {git = 'https://github.com/FunctionStream/datafusion', branch = '48.0.1/fs'}
6770
datafusion-common = {git = 'https://github.com/FunctionStream/datafusion', branch = '48.0.1/fs'}
6871
datafusion-execution = {git = 'https://github.com/FunctionStream/datafusion', branch = '48.0.1/fs'}
@@ -74,11 +77,19 @@ sqlparser = { git = "https://github.com/FunctionStream/sqlparser-rs", branch = "
7477

7578
ahash = "0.8"
7679
governor = "0.8.0"
80+
lance = { version = "4.0.0", default-features = false, features = ["aws"] }
81+
arrow-array-lance = { package = "arrow-array", version = "57.3.0" }
82+
arrow-ipc-lance = { package = "arrow-ipc", version = "57.3.0" }
7783

7884
[features]
7985
default = ["incremental-cache", "python"]
8086
incremental-cache = ["wasmtime/incremental-cache"]
8187
python = []
8288

89+
[profile.release]
90+
strip = true
91+
lto = "thin"
92+
codegen-units = 1
93+
8394
[dev-dependencies]
8495
tempfile = "3.27.0"

0 commit comments

Comments
 (0)