Les blocs d'instructions if-else
Ruche prend en charge les instructions conditionnelles - https://cwiki.apache.org/Hive/languagemanual-udf.html#LanguageManualUDF-ConditionalFunctions
Cependant, je souhaite utiliser un bloc les instructions conditionnelles. Par exemple, j'ai deux tables A et B qui ont les mêmes colonnes (bien que les noms de colonnes ne sont pas identiques). Je souhaite créer une nouvelle table à partir de A et B tels que B a une plus grande priorité. Donc, si une ligne est présent dans B, je tiens à le sélectionner à partir de B, sinon sélectionnez la ligne à partir de A.
c'est à dire
SELECT
IF (B.id<>NULL,
(B.id as id,
B.value1 as value),
(A.id as id,
a.value2 as value))
FROM A FULL OUTER JOIN B ON (A.id = B.id)
La requête ci-dessus ne fonctionne pas. Est-ce parce que la Ruche ne supporte pas de bloc d'instructions conditionnelles? Comment puis-je mettre en œuvre le au-dessus de la fonctionnalité?
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas à propos de bloc d'instructions conditionnelles, mais ne serait-ce pas réaliser la même chose: