Shubham Chaurasia created HIVE-21641:
----------------------------------------
Summary: Llap external client returns decimal columns in different
precision/scale as compared to beeline
Key: HIVE-21641
URL: https://issues.apache.org/jira/browse/HIVE-21641
Project: Hive
Issue Type: Bug
Components: llap
Reporter: Shubham Chaurasia
Assignee: Shubham Chaurasia
Llap external client gives different precision/scale as compared to when the
query is executed beeline. Consider the following results:
Query:
{code}
select avg(ss_ext_sales_price) my_avg from store_sales;
{code}
Result from Beeline
{code}
+----------------------------+
| my_avg |
+----------------------------+
| 37.8923531030581611189434 |
+----------------------------+
{code}
Result from Llap external client
{code}
+---------+
| my_avg|
+---------+
|37.892353|
+---------+
{code}
This is due to Driver(beeline path) calls
[analyzeInternal()|https://github.com/apache/hive/blob/rel/release-3.1.1/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java#L328]
for getting result set schema which initializes
[resultSchema|https://github.com/apache/hive/blob/rel/release-3.1.1/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java#L333]
after some more transformations as compared to llap-ext-client which calls
[genLogicalPlan()|https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseUtils.java#L561]
Replacing {{genLogicalPlan()}} by {{analyze()}} resolves this.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)