chore(deps): bump databricks-zerobus-ingest-sdk to 2.4.0 and arrow to 59.1.0#25889
chore(deps): bump databricks-zerobus-ingest-sdk to 2.4.0 and arrow to 59.1.0#25889flaviofcruz wants to merge 1 commit into
Conversation
|
Hey @flaviofcruz , (Not a maintainer of Vector here) This PR upgrades the Zerobus SDK and Arrow dependencies, but it does not implement the logical-to-physical encoding required for Databricks VARIANT columns. For example, Vector may receive: "gauge": {
"value": 42.5,
"attributes": "{\"instance\":\"10.0.0.1:8000\"}"
}However, Unity Catalog exposes a VARIANT column through Arrow as: The existing serializer converts the Vector event to JSON and passes it directly to Arrow’s schema-driven decoder. Arrow therefore sees a JSON string where the schema requires a struct, resulting in an error such as: Passing a native JSON object would not be sufficient either. metadata and value are not ordinary object fields: they contain the binary Parquet Variant representation. Raw JSON cannot simply be placed into value. That conversion is what #25890 adds. It:
The SDK only transports an already-valid Arrow RecordBatch, while Arrow sees only a generic struct and cannot infer Databricks VARIANT semantics. Therefore, upgrading those dependencies alone is insufficient: Vector still needs an explicit adapter from ordinary JSON values to the physical VARIANT representation. Please let me know if you see any mistakes in my logic! Best, Yorick |
Summary
Upgrade databricks-zerobus-ingest-sdk to 2.4.0 and with it arrow dependencies to 59.1.0.
Vector configuration
No changes.
How did you test this PR?
Manually run vector with configuration:
Change Type
Is this a breaking change?
Does this PR include user facing changes?
no-changeloglabel to this PR.References
Notes
@vectordotdev/vectorto reach out to us regarding this PR.pre-pushhook, please see this template.make fmtmake check-clippy(if there are failures it's possible some of them can be fixed withmake clippy-fix)make testgit merge origin masterandgit push.Cargo.lock), pleaserun
make build-licensesto regenerate the license inventory and commit the changes (if any). More details on the dd-rust-license-tool.