运维开发网

在HIVE中写if / else if / else if / else的最佳方法是什么?

运维开发网 https://www.qedev.com 2020-05-07 20:35 出处:网络
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 } 您可以对i
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

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消