我为表创建了一个视图:
CREATE VIEW anonymous_table
AS SELECT id, value FROM sensitive_table
并且希望敏感表的id
字段以某种方式被混淆,例如MD5哈希或类似的东西,以便查询视图的人无法看到实际的id
。在Hive中这样做的好方法是什么?
答案 0 :(得分:2)
一些选项:
根本不要在您的视图中包含ID:
CREATE VIEW ES SELECT“HIDDEN ID”,来自sensitive_table的值;
如果您仍需要为每条记录提供不同的密钥,您可以编写UDF来执行您喜欢的任何转换:
ADD JAR mycode.jar; CREATE TEMPORARY FUNCTION hash为'com.example.MyUDF'; CREATE VIEW东西作为SELECT hash(id),来自sensitive_table的值;
奖励:看到您的用户无论如何都可以查看敏感表,您可以在ID到达蜂巢之前对其进行哈希处理?这可能是最好的选择。
无论哪种方式,如果您正在处理ID,那么如果人们仍然需要依赖ID来加入/聚合等,那么拥有稳定的哈希函数将是您所需要的。