Details
Description
Unlike other databases, Hive currently has only one mode (default mode) regarding error handling, in which NULL value is returned. However, in case of divide-by-zero, Hive demonstrated a different behavior.
hive> select 5/0 from tmp2 limit 1; Total MapReduce jobs = 1 ... Total MapReduce CPU Time Spent: 860 msec OK Infinity
The correct behaviour should be Hive returning NULL instead in order to be consistent w.r.t error handling. (BTW, the same situation is handled corrected for decimal type.)
MySQL has server modes control the behaviour. By default, NULL is returned. For instance,
mysql> select 3/0 from dual; +------+ | 3/0 | +------+ | NULL | +------+ 1 row in set (0.00 sec)