Hive使用IF(条件,表达式,表达式),所以当我想做if / else if / else if / else时,我必须这样做:
IF(a, 1, IF(b, 2, IF(c, 3, 4)))
有没有更好的方法来做到更具可读性?
寻找类似于标准的东西
if (a) { 1 } else if (b) { 2 } else if (c) { 3 } else { 4 }您可以对if-else方案使用Hive Conditional CASE WHEN函数. CASE声明将为您提供相同功能的更好的可读性.
CASE WHEN (condition1) THEN result1 WHEN (condition2) THEN result2 WHEN (condition3) THEN result3 WHEN (condition4) THEN result4 ELSE result_default END AS attribute_name
精彩评论