gpt4 book ai didi

hadoop - if-else 中的 block 语句

转载 作者:可可西里 更新时间:2023-11-01 14:45:59 27 4
gpt4 key购买 nike

Hive 支持条件语句 - https://cwiki.apache.org/Hive/languagemanual-udf.html#LanguageManualUDF-ConditionalFunctions

但是,我希望使用 block 条件语句。例如,我有两个表 A 和 B,它们具有相似的列(尽管列名不相同)。我希望从 A 和 B 创建一个新表,使 B 具有更高的优先级。因此,如果 B 中存在一行,我希望从 B 中选择它,否则从 A 中选择该行。即

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)

以上查询无效。是因为 Hive 不支持 block 条件语句吗?如何实现上述功能?

最佳答案

我不知道 block 条件语句,但这不会达到同样的目的吗:

select case when b.id is null then a.id else b.id end as id,
case when b.id is null then a.value else b.value end as value
from a
full outer join b on ( a.id = b.id )

关于hadoop - if-else 中的 block 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16807775/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com