4

我为表创建了一个视图:

CREATE VIEW anonymous_table
AS SELECT id, value FROM sensitive_table

并希望id以某种方式混淆敏感表的字段,例如 MD5 哈希或类似的东西,以便查询视图的人看不到实际的id. 在 Hive 中执行此操作的好方法是什么?

4

1 回答 1

2

一些选项:

  • 根本不要在视图中包含 ID:

    CREATE VIEW something AS SELECT "HIDDEN ID", value from sensitive_table;

  • 如果您仍然需要为每条记录提供一个不同的键,您可以编写一个 UDF 来执行您喜欢的任何转换:

    添加 JAR mycode.jar; CREATE TEMPORARY FUNCTION hash as 'com.example.MyUDF'; CREATE VIEW SELECT hash(id),来自sensitive_table的值;

  • 奖励:看到您的用户无论如何都可以查看敏感表,您可以在 ID 到达配置单元之前对其进行哈希处理?老实说,这可能是最好的选择。

无论哪种方式,如果您正在处理 ID,如果人们仍然需要依赖 ID 来加入/聚合等,那么您需要一个稳定的散列函数。

这是如何创建 UDF 的链接

于 2012-06-13T14:54:38.107 回答