You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Nishant Bangarwa (JIRA)" <ji...@apache.org> on 2018/10/03 19:07:00 UTC

[jira] [Commented] (HIVE-20684) Analyze table compute stats fails for tables containing timestamp with local time zone column

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

Nishant Bangarwa commented on HIVE-20684:
-----------------------------------------

This one has multiple fixes to make analyze table column stats work for Druid -
# Add support for analyzing timestamp with timezone column type 
# By default we were creating a druid scan query but were using a select query reader. 
# When creating a default scan query, column list was not passed to druid. This led to mismatch in column order between DruidSerde and results coming from druid. Leading to classCastExceptions in some cases OR columns data getting mixed. 
# TableScanDesc was incorrectly passed virtual columns in list of columns for non-native tables. Added a fix to only pass in VirtualColumns for native tables. 

+cc [~ashutoshc] [~jcamachorodriguez] 

> Analyze table compute stats fails for tables containing timestamp with local time zone column
> ---------------------------------------------------------------------------------------------
>
>                 Key: HIVE-20684
>                 URL: https://issues.apache.org/jira/browse/HIVE-20684
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Nishant Bangarwa
>            Assignee: Nishant Bangarwa
>            Priority: Major
>         Attachments: HIVE-20684.patch
>
>
> Analyze table druid_table compute statistics for columns;
> Reference Exception - 
> {code} 
> org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException: Only integer/long/timestamp/date/float/double/string/binary/boolean/decimal
> type argument is accepted but timestamp with local time zone is passed.
>         at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFComputeStats.getEvaluator(GenericUDAFComputeStats.java:105)
>         at org.apache.hadoop.hive.ql.udf.generic.AbstractGenericUDAFResolver.getEvaluator(AbstractGenericUDAFResolver.java:48)
>         at org.apache.hadoop.hive.ql.exec.FunctionRegistry.getGenericUDAFEvaluator(FunctionRegistry.java:1043)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getGenericUDAFEvaluator(SemanticAnalyzer.java:4817)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genGroupByPlanMapGroupByOperator(SemanticAnalyzer.java:5482)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genGroupByPlanMapAggrNoSkew(SemanticAnalyzer.java:6496)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genBodyPlan(SemanticAnalyzer.java:10617)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:11557)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:11427)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genOPTree(SemanticAnalyzer.java:12229)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12319)
>         at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:11802)
> {code} 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)