Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-3715

float and double calculation is inaccurate in Hive

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 0.10.0
    • Fix Version/s: None
    • Component/s: SQL
    • Labels:
      None

      Description

      I found this during debug the e2e test failures. I found Hive miss calculate the float and double value. Take float calculation as an example:

      hive> select f from all100k limit 1;
      48308.98
      hive> select f/10 from all100k limit 1;
      4830.898046875 <--added 04875 in the end
      hive> select f*1.01 from all100k limit 1;
      48792.0702734375 <--should be 48792.0698

      It might be essentially the same problem as http://effbot.org/pyfaq/why-are-floating-point-calculations-so-inaccurate.htm. But since e2e test compare the results with mysql and seems mysql does it right, so it is worthy fixing it in Hive.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                dreambird Johnny Zhang
                Reporter:
                dreambird Johnny Zhang
              • Votes:
                1 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated: