我已经创建了java spark和hive之间的连接,我的代码运行得很好。我可以使用我的代码进行crud操作。现在我需要在几个hive列上执行一些加密算法。我用谷歌搜索,发现AES算法有利于加密。但是无法获得加密蜂巢列的高级安全方式。 我是bigdata的新手。如果有人有好的文件,或者可以提出一些想法,那对我来说非常有帮助。 对于数据插入我使用的是SQL查询。所以我可以轻松使用UDF。
我的想法是:首先,我将创建一个自定义加密算法,并用于数据插入操作。
请指导我。
答案 0 :(得分:0)
根据我的初步搜索,我可以看到来自hive的一些补丁可用于使用Hive API中包含的Base64等标准加密类型进行列级加密,并在" column.encode.classname'中使用。在创建表时间期间加载列数据的属性。
我还没有在我的环境中对它进行实际测试。但是,如果下面的任何一个工作,我们可以使用我们自己的加密类实现与AES之类的标准加密机制,通过扩展超类型,换句话说模拟CryptoRewriter并在DDL命令中使用它。
示例我从补丁中提到:
create table student_column_encrypt (s_key INT, s_name STRING, s_country STRING, s_age INT) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES ('column.encode.columns'='s_country,s_age', 'column.encode.classname'='org.apache.hadoop.hive.serde2.crypto.CryptoRewriter')
STORED AS TEXTFILE TBLPROPERTIES('hive.encrypt.keynames'='hive.k1');
参考链接:
答案 1 :(得分:0)
我使用了AES加密,并根据我的要求定制了算法。