我想将所有员工的薪水转换为美元
假设我有一个Hive表' emp'
id name currency_code salary_as_per_currency_code
100 Surender EUR 10
101 Raja INR 100
102 Ajay USD 5
我需要写一个选择查询,它应该给我以下结果
我的预期输出是
id name currency_code salary_as_per_currency_code salary_in_USD
100 Surender EUR 10 $10.92
101 Raja INR 100 $1.496
102 Ajay USD 5 $5
我的桌子有更多的Currency_code,例如NZD,CAD,JPY等等。
hive中是否有任何通用的内置函数来执行此操作?
请帮我为我提供一条寻找解决方案的途径
答案 0 :(得分:1)
此转换没有可用的内置函数,但您可以在配置单元中创建自己的UDF。请参阅以下链接,该链接将指导您在配置单元中创建UDF。
您需要做的就是在下面的块中编写转换逻辑,
public class currency_conversion extends UDF {
public Text evaluate(String currency_code, String salary_as_per_currency_code){
----- write your logic here---
if (currency_code.contains("INR")){
--write your conversion logic here---
}
}}
如果您有任何疑问,请与我们联系。