[
https://issues.apache.org/jira/browse/BEAM-7925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Neville Li updated BEAM-7925:
-----------------------------
Description:
Current {{ParquetIO}} supports neither column projection nor filter predicate
which defeats the performance motivation of using Parquet in the first place.
That's why we have our own implementation of
[ParquetIO|https://github.com/spotify/scio/tree/master/scio-parquet/src] in
Scio.
Reading Parquet as Avro with column projection has some complications, namely,
the resulting Avro records may be incomplete and will not survive ser/de. A
workaround maybe provide a {{TypedRead}} interface that takes a {{Function<A,
B>}} that maps invalid Avro {{A}} into user defined type {{B}}.
was:
Current `ParquetIO` supports neither column projection nor filter predicate
which defeats the performance motivation of using Parquet in the first place.
That's why we have our own implementation of
[ParquetIO|https://github.com/spotify/scio/tree/master/scio-parquet/src] in
Scio.
Reading Parquet as Avro with column projection has some complications, namely,
the resulting Avro records may be incomplete and will not survive ser/de. A
workaround maybe provide a {{TypedRead}} interface that takes a {{Function<A,
B>}} that maps invalid Avro {{A}} into user defined type {{B}}.
> ParquetIO supports neither column projection nor filter predicate
> -----------------------------------------------------------------
>
> Key: BEAM-7925
> URL: https://issues.apache.org/jira/browse/BEAM-7925
> Project: Beam
> Issue Type: Improvement
> Components: io-java-parquet
> Affects Versions: 2.14.0
> Reporter: Neville Li
> Priority: Major
>
> Current {{ParquetIO}} supports neither column projection nor filter predicate
> which defeats the performance motivation of using Parquet in the first place.
> That's why we have our own implementation of
> [ParquetIO|https://github.com/spotify/scio/tree/master/scio-parquet/src] in
> Scio.
> Reading Parquet as Avro with column projection has some complications,
> namely, the resulting Avro records may be incomplete and will not survive
> ser/de. A workaround maybe provide a {{TypedRead}} interface that takes a
> {{Function<A, B>}} that maps invalid Avro {{A}} into user defined type {{B}}.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)