hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carl Steinbach (JIRA)" <>
Subject [jira] [Commented] (HIVE-11802) Float-point numbers are displayed with different precision in Beeline/JDBC
Date Mon, 14 Sep 2015 00:55:46 GMT


Carl Steinbach commented on HIVE-11802:

Thanks for adding a test. Here's some feedback:
* TestColumn is missing an ASF header.
* TestColumn doesn't prove that beeline returns correct results. What we need is an end-to-end
test that validates the output of beeline. There's an existing test driver (TestBeeLineDriver)
that was included in the original HiveServer2 patch. The goal was to make it easy to write
end-to-end Beeline tests in the style of the existing qfile tests. There's also a set of sample
data files in files/types/primitives that cover all primitive types, and an initialization
file (data/scripts/q_test_init.sql) that creates a 'primitives' table on top of it. I think
we'd get more complete and easier to maintain test coverage with less code by resurrecting
TestBeeLineDriver and writing a new beeline qfile test that runs a 'SELECT *' query against
the primitives table. I suspect the original HS2 patch even had a qfile test for this, but
I'm too depressed to look. It would be awesome if you want to fix this, but all that really
stands in the way of a +1 is adding the missing ASF header.

> Float-point numbers are displayed with different precision in Beeline/JDBC
> --------------------------------------------------------------------------
>                 Key: HIVE-11802
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 1.2.1
>            Reporter: Sergio Peña
>            Assignee: Sergio Peña
>         Attachments: HIVE-11802.2.patch
> When inserting float-point numbers to a table, the values displayed on beeline or jdbc
are with different precision.
> How to reproduce:
> {noformat}
> 0: jdbc:hive2://localhost:10000> create table decimals (f float, af array<float>,
d double, ad array<double>) stored as parquet;
> No rows affected (0.294 seconds)
> 0: jdbc:hive2://localhost:10000> insert into table decimals select 1.10058, array(cast(1.10058
as float)), 2.0133, array(2.0133) from dummy limit 1;
> ...
> No rows affected (20.089 seconds)
> 0: jdbc:hive2://localhost:10000> select f, af, af[0], d, ad[0] from decimals;
> +---------------------+------------+---------------------+---------+---------+--+
> |          f          |     af     |         _c2         |    d    |   _c4   |
> +---------------------+------------+---------------------+---------+---------+--+
> | 1.1005799770355225  | [1.10058]  | 1.1005799770355225  | 2.0133  | 2.0133  |
> +---------------------+------------+---------------------+---------+---------+--+
> {noformat}
> When displaying arrays, the values are displayed correctly, but if I print a specific
element, it is then displayed with more decimal positions.

This message was sent by Atlassian JIRA

View raw message