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

Thomas Friedrich commented on HIVE-13422:
-----------------------------------------

The problem is that the GenericUDAFDecimalStatsEvaluator is using the default 
HiveDecimalObjectInspector which is initialized with the default precision and 
scale of 38,18. While the analyze will work for some decimal columns, it fails 
for decimal columns where the difference of precision and scale is larger than 
20 (38-18), for example decimal(21,0).
I attached a patch that will initialize the HiveDecimalObjectInspector with the 
actual precision and scale of the decimal column. I also updated the 
compute_stats_decimal.q test case to test this scenario.

> Analyse command not working for column having datatype as decimal(38,0)
> -----------------------------------------------------------------------
>
>                 Key: HIVE-13422
>                 URL: https://issues.apache.org/jira/browse/HIVE-13422
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive, Statistics
>    Affects Versions: 1.1.0
>            Reporter: ashim sinha
>            Assignee: Thomas Friedrich
>         Attachments: HIVE-13422.patch
>
>
> For the repro
> {code}
> drop table sample_test;
> CREATE TABLE IF NOT EXISTS sample_test( key decimal(38,0),b int ) ROW FORMAT 
> DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;
> load data local inpath '/home/hive/analyse.txt' into table sample_test;
> ANALYZE TABLE sample_test COMPUTE STATISTICS FOR COLUMNS;
> {code}
> Sample data
> {code}
> 20234567894567498250824983000004 0
> 50320807548878498250695083000004 0
> 40120807548878498250687183000004 0
> 20120807548878498250667783000004 0
> 40120807548878496250656783000004 0
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to