Hive
  1. Hive
  2. HIVE-3715

float and double calculation is inaccurate in Hive

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major 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.

        Issue Links

          Activity

            People

            • Assignee:
              Johnny Zhang
              Reporter:
              Johnny Zhang
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:

                Development