[
https://issues.apache.org/jira/browse/AVRO-3630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17610063#comment-17610063
]
ASF subversion and git services commented on AVRO-3630:
-------------------------------------------------------
Commit c0b0bf32083f9378b77076d5b3b0ec011588d54e in avro's branch
refs/heads/avro-3630-append-to-preexisting-bytes from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=c0b0bf320 ]
AVRO-3630: [Rust] Make it possible to extend pre-existing Avro bytes
Make it possible to pass a block marker to Writer, so that it could
append to pre-existing bytes (i.e. bytes created by another Writer)
Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
> [Rust] Make it possible to extend pre-existing Avro bytes
> ---------------------------------------------------------
>
> Key: AVRO-3630
> URL: https://issues.apache.org/jira/browse/AVRO-3630
> Project: Apache Avro
> Issue Type: Improvement
> Components: rust
> Affects Versions: 1.11.1
> Reporter: Martin Tzvetanov Grigorov
> Assignee: Martin Tzvetanov Grigorov
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> From ASF Slack
> #[avro|[https://the-asf.slack.com/archives/CLUD54M1S/p1663751850569319]:]
> ===================================
> I'm currenlty solving it by reading the original file and appending it to a
> new Vec
> {code:java}
> let bytes: Vec<u8> = object_store
> .get(&old_manifest_location)
> .await?
> .bytes()
> .await?
> .into();
> let mut writer = apache_avro::Writer::new(&schema, Vec::new());
> let reader = apache_avro::Reader::new(&*bytes)?;
> writer.extend(reader.filter_map(Result::ok))?;
> writer.append_ser(entry)?;
> let new_bytes = writer.into_inner()?;
> {code}
> I was wondering if I could do something like:
> {code:java}
> let bytes: Vec<u8> = object_store
> .get(&old_manifest_location)
> .await?
> .bytes()
> .await?
> .into();
> let mut writer = apache_avro::Writer::new(&schema, bytes);
> writer.append_ser(entry)?;
> let new_bytes = writer.into_inner()?;
> {code}
> ==================================
--
This message was sent by Atlassian Jira
(v8.20.10#820010)