2012-06-13 18 views
3

我創建了一個視圖的表:如何在Hive視圖中對列進行混淆?

CREATE VIEW anonymous_table 
AS SELECT id, value FROM sensitive_table 

,並想敏感表的id領域,讓人們查詢視圖看不到以某種方式模糊,像一個MD5哈希或類似的東西實際的id。在Hive中執行此操作的好方法是什麼?

回答

2

一些選項:

  • 不要在您的視圖ID都:

    創建sensitive_table VIEW東西AS SELECT 「HIDDEN ID」,值;

  • 如果您仍然需要有是爲每個記錄提供一個獨特的鍵,你可以寫一個UDF做任何你喜歡的轉型:

    ADD JAR mycode.jar; 將臨時函數hash創建爲'com.example.MyUDF'; CREATE VIEW作爲SELECT hash(id),來自sensitive_table的值;紅利:看到你的用戶無論如何只要看敏感表,你可以在ID到達蜂巢之前對它們進行散列處理?這可能是最好的選擇。

無論哪種方式,如果你處理的ID,具有穩定的散列函數將是你需要的,如果人們仍然需要依靠ID的加盟/匯聚等

Here is the link to how to create a UDF

+0

謝謝。我有UDF但努力編譯它:http://stackoverflow.com/questions/11019465/how-do-i-compile-a-hive-udf – nickponline

+0

看起來像是被修復? –

+0

馬特謝謝你的幫助。你知道我可以在哪裏添加代碼來實現'ADD JAR mycode.jar;創建TEMPORARY FUNCTION哈希值爲'com.example.MyUDF';'自動而不必每次打開蜂巢會話時輸入它? – nickponline