[ 
https://issues.apache.org/jira/browse/BEAM-7925?focusedWorklogId=481028&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-481028
 ]

ASF GitHub Bot logged work on BEAM-7925:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 09/Sep/20 19:58
            Start Date: 09/Sep/20 19:58
    Worklog Time Spent: 10m 
      Work Description: ihji commented on a change in pull request #12786:
URL: https://github.com/apache/beam/pull/12786#discussion_r485884651



##########
File path: 
sdks/java/io/parquet/src/main/java/org/apache/beam/sdk/io/parquet/ParquetIO.java
##########
@@ -135,6 +135,20 @@
  * ...
  * }</pre>
  *
+ * <p>Reading with projection can be enabled with the projection schema as 
following. Splittable
+ * reading is enabled when reading with projection. The projection_schema 
contains only the column
+ * that we would like to read and encoder_schema contains the schema to encode 
the output with the
+ * unwanted columns changed to nullable. Partial reading provide increase of 
reading time due to

Review comment:
       increase or decrease?

##########
File path: 
sdks/java/io/parquet/src/main/java/org/apache/beam/sdk/io/parquet/ParquetIO.java
##########
@@ -135,6 +135,16 @@
  * ...
  * }</pre>
  *
+ * <p>Reading with projection can be enabled with the projection schema as 
following. The
+ * projection_schema contains only the column that we would like to read and 
encoder_schema contains
+ * all field but with the unwanted columns changed to nullable.
+ *

Review comment:
       Please also adding 
   ```
   Note that the improvement is not as significant though, since the processing
   time saved is only the time to read the unwanted columns, the reader will 
still
   go over the entire data set since data for each column in a row is stored 
interleaved.
   ```
   to the comments. It will help users a lot to understand how the column 
projection works.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 481028)
    Time Spent: 2.5h  (was: 2h 20m)

> 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: P2
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> 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
(v8.3.4#803005)

Reply via email to