[ 
https://issues.apache.org/jira/browse/HIVE-17261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16167401#comment-16167401
 ] 

Junjie Chen edited comment on HIVE-17261 at 9/15/17 6:33 AM:
-------------------------------------------------------------

The insert statement following store values in parquet without tail spaces. 
insert overwrite table newtypestbl select * from (select cast("apple" as 
char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from 
src src1 union all select cast("hello" as char(10)), cast("world" as 
varchar(10)), 11.22, cast("1970-02-27" as date) from src src2 limit 10) 
uniontbl;

However hive pass predicate {noformat}"eq(c, Binary{"apple     "})"{noformat} 
to parquet, so the records are filtered in RecordReader#nextKeyValue().

So hive should also remove spaces in tail for predicate.


was (Author: junjie):
The insert statement following store values in parquet without tail spaces. 
insert overwrite table newtypestbl select * from (select cast("apple" as 
char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from 
src src1 union all select cast("hello" as char(10)), cast("world" as 
varchar(10)), 11.22, cast("1970-02-27" as date) from src src2 limit 10) 
uniontbl;

However hive pass predicate "eq(c, Binary{"apple    "})" to parquet, so the 
records are filtered in RecordReader#nextKeyValue().

So hive should also remove spaces in tail for predicate.

> Hive use deprecated ParquetInputSplit constructor which blocked parquet 
> dictionary filter
> -----------------------------------------------------------------------------------------
>
>                 Key: HIVE-17261
>                 URL: https://issues.apache.org/jira/browse/HIVE-17261
>             Project: Hive
>          Issue Type: Improvement
>          Components: Database/Schema
>    Affects Versions: 2.2.0
>            Reporter: Junjie Chen
>            Assignee: Junjie Chen
>             Fix For: 3.0.0
>
>         Attachments: HIVE-17261.10.patch, HIVE-17261.11.patch, 
> HIVE-17261.2.patch, HIVE-17261.3.patch, HIVE-17261.4.patch, 
> HIVE-17261.5.patch, HIVE-17261.6.patch, HIVE-17261.7.patch, 
> HIVE-17261.8.patch, HIVE-17261.diff, HIVE-17261.patch
>
>
> Hive use deprecated ParquetInputSplit in 
> [https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/ParquetRecordReaderBase.java#L128]
> Please see interface definition in 
> [https://github.com/apache/parquet-mr/blob/master/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetInputSplit.java#L80]
> Old interface set rowgroupoffset values which will lead to skip dictionary 
> filter in parquet.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to