hive列级的sparkjava加密

l0oc07j2  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(633)

我已经在javaspark和hive之间建立了连接,我的代码工作得很好。我可以用我的代码进行crud操作。现在我需要在几个配置单元列上执行一些加密算法。我在谷歌上搜索发现aes算法适合加密。但无法获得高级和高度安全的方式来加密配置单元列。我是大数据新手。如果有人有好的文件,或能给一些想法,那将是非常有帮助的我。对于数据插入,我使用sql查询。所以我可以很容易地使用自定义项。
我的想法是:首先,我将创建一个自定义的加密算法,并用于数据插入操作。
请引导我。

j8yoct9x

j8yoct9x1#

根据我最初的搜索,我可以从配置单元中看到几个补丁,这些补丁使用配置单元api中包含的标准加密类型(如base64)进行列级加密,并在创建表时用于“column.encode.classname”属性来加密列数据。
我还没有在我的环境中进行实际测试。但是,如果下面的任何一种方法奏效,我们就可以通过扩展super-type(换句话说,模仿cryptorewriter并在ddl命令中使用它)来使用我们自己的加密类实现,使用标准的加密机制(如aes)。
我在补丁中引用的示例:

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');

参考链接:
https://issues.apache.org/jira/browse/hive-8049
https://issues.apache.org/jira/browse/hive-6329

gzjq41n4

gzjq41n42#

我使用aes加密,并根据我的要求定制了该算法。

相关问题