[ 
https://issues.apache.org/jira/browse/BEAM-11913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ismaël Mejía updated BEAM-11913:
--------------------------------
    Description: 
This is a common request from users and we did not do it in the past because we 
tried to avoid Hadoop objects in ParquetIO's public API. However there are 
valid reasons to do it:

1. Many functionalities of Parquet are configurable via public helper methods 
on Parquet that prepare data inside of Hadoop's Configuration object, e.g. 
Column Projection via 
`{color:#000000}AvroReadSupport{color}.setRequestedProjection({color:#871094}conf{color},
 {color:#871094}projectionSchema{color});` or Predicate Filters via 
`P{color:#000000}arquetInputFormat{color}.setFilterPredicate({color:#871094}sc{color}.hadoopConfiguration(),
 {color:#871094}filterPredicate{color});`. Giving access to those would allow 
power users to do advanced stuff without any maintenance on the IO side.

2. The main reason to avoid the Hadoop Configuration object was to align with 
future non Hadoop required APIs on Parquet see PARQUET-1126 for details but 
this does not seem that will happen soon.

  was:
We have discussed this issue in the past and we tried to avoid Hadoop objects 
in Parquet public API however there are two valid reasons for this:

1. Many functionalities of Parquet are configurable via public helper methods 
on Parquet that prepare data inside of Hadoop's Configuration object, e.g. 
Column Projection via 
`{color:#000000}AvroReadSupport{color}.setRequestedProjection({color:#871094}conf{color},
 {color:#871094}projectionSchema{color});` or Predicate Filters via 
`P{color:#000000}arquetInputFormat{color}.setFilterPredicate({color:#871094}sc{color}.hadoopConfiguration(),
 {color:#871094}filterPredicate{color});`. Giving access to those would allow 
power users to do advanced stuff without any maintenance on the IO side.



2. The main reason to avoid the Hadoop Configuration object was to align with 
future non Hadoop required APIs on Parquet see PARQUET-1126 for details but 
this does not seem that will happen soon.


> Add support for Hadoop configuration on ParquetIO
> -------------------------------------------------
>
>                 Key: BEAM-11913
>                 URL: https://issues.apache.org/jira/browse/BEAM-11913
>             Project: Beam
>          Issue Type: Improvement
>          Components: io-java-parquet
>            Reporter: Ismaël Mejía
>            Assignee: Ismaël Mejía
>            Priority: P2
>
> This is a common request from users and we did not do it in the past because 
> we tried to avoid Hadoop objects in ParquetIO's public API. However there are 
> valid reasons to do it:
> 1. Many functionalities of Parquet are configurable via public helper methods 
> on Parquet that prepare data inside of Hadoop's Configuration object, e.g. 
> Column Projection via 
> `{color:#000000}AvroReadSupport{color}.setRequestedProjection({color:#871094}conf{color},
>  {color:#871094}projectionSchema{color});` or Predicate Filters via 
> `P{color:#000000}arquetInputFormat{color}.setFilterPredicate({color:#871094}sc{color}.hadoopConfiguration(),
>  {color:#871094}filterPredicate{color});`. Giving access to those would allow 
> power users to do advanced stuff without any maintenance on the IO side.
> 2. The main reason to avoid the Hadoop Configuration object was to align with 
> future non Hadoop required APIs on Parquet see PARQUET-1126 for details but 
> this does not seem that will happen soon.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to