web-dev-qa-db-ja.com

HIVEでif / else if / else if / elseを記述する最良の方法は何ですか?

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
}
12
Popcorn

Hive Conditional CASE WHEN if-elseシナリオの関数。 CASE Statementは、同じ機能でより読みやすくなります。

CASE
  WHEN (condition1) THEN result1
  WHEN (condition2) THEN result2
  WHEN (condition3) THEN result3 
  WHEN (condition4) THEN result4
  ELSE result_default 
END AS attribute_name
32
YoungHobbit

特定の列にカスタムUDFを書くことが他の場合に対処する最良の方法です。

0
ronil