gpt4 book ai didi

hadoop - 创建一个使用可以返回列名的 UDF 函数的 hiveQL 查询

转载 作者:可可西里 更新时间:2023-11-01 16:19:06 25 4
gpt4 key购买 nike

我想创建一个 Hive UDF 函数,该函数根据某些值返回特定的列名,例如 retreivecol(age)。如果年龄为 20,则返回要在选择查询中使用的列名列表,例如“name,email, fbuserid、 friend 列表等,如果年龄小于 20 岁,则单独返回“姓名”。所以我希望我的 HIVE QL 查询看起来像

从 User_Data 中选择 retreivecol(age);

上面的查询只打印列的名称,如“name、email、fbuserid、friendslist”等,而不是将它们视为列名称并基于相同的名称进行过滤。感谢任何指针。

最佳答案

我不确定 UDF 是否适合执行此操作,因为 UDF 只是看到传递给它们的值,它们实际上无法访问整个表结构。

相反,您可以在嵌套表格中执行此操作吗?

select name,email,id FROM
(
select
name,
if(age < 20, email, NULL) as email,
if(age < 20, id, NULL) as id
FROM mytable

) a

关于hadoop - 创建一个使用可以返回列名的 UDF 函数的 hiveQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12504207/

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