2016-10-26 71 views
2

我想工資轉化爲全體員工以美元我們如何在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如紐元,加元,日元和所有。

在配置單元中是否有任何通用的內置函數來做到這一點?

請幫我給我一個可能的途徑來找到這個

回答

1

的解決方案沒有可用於這種轉換沒有內置功能,但你可以在蜂巢創建自己的UDF。請參閱下面的鏈接,它將指導您在配置單元中創建UDF。

UDF tutorial

所有你需要做的是寫你的轉換邏輯在下面的框,

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--- 
    } 
}} 

讓我知道,如果有任何疑問,你有。