hive中表连接条件可以使用case when或者if条件语句吗
发布网友
发布时间:2022-05-17 09:33
我来回答
共1个回答
热心网友
时间:2023-10-17 14:43
首先从软件角度考虑
if加若干个else
if可以组成一个与case类似的功能
但需要注意的是if-else
if是有优先级的,也就是第一个if不成立的话,才判断第二个else
if
那么问题就来了,如果这个if组合里有10个else
if条件,那么逻辑就需要做一个在一个时钟周期内能判断10个条件的硬件电路来,这样是不明智也是不合理的,比较容易造成时序不满足
虽然说if有这样的缺点,但它的优点是每个else
if都可以判断不同的条件,比较灵活
一般来说,如果判断的条件只是一个向量的不同值,那么case是最合适的
如果判断的条件是许多不同的向量或者变量,那么if还是比较合适的
当然也可以选择case和if的组合,这样灵活性和时序都比较好