2016-08-11 4 views
3

私はJava sparkとハイブの間の接続を作成しました。私のコードは完全に動作しています。私は自分のコードで無駄な操作をすることができます。今私はいくつかのハイブの列にいくつかの暗号化アルゴリズムを実行する必要があります。私はグーグルで、AES algoが暗号化に適していることを発見しました。しかし、ハイブの列を暗号化するための高度で安全な方法を得ることはできません。 私はbigdataのために新しいです。誰かが良い文書を持っている、またはいくつかの考えを与えることができれば、それは私のために非常に役立つでしょう。 私はSQLクエリを使用してデータ挿入のために。だから私は簡単にUDFを使用することができます。ハイブspark javaでの列レベルのencription

私の考えは:まず、暗号化のためのカスタムアルゴリズムを作成し、データ挿入操作で使用します。

私をご案内ください。

答えて

0

私は、AES暗号化を使用し、私の要件に応じてそのアルゴをカスタマイズしました。

0

Hive APIに含まれているBase64のような標準暗号化タイプを使用して列レベルの暗号化に使用できるハイブからのいくつかのパッチを見ることができ、Create table時間中に 'column.encode.classname'列データを暗号化する。

まだ私の環境では、それがまだ進行中ではありません。しかし、以下のいずれかが成り立つ場合は、AESのような標準的な暗号化メカニズムを使用して独自のEncryptionクラスの実装を行うことができます。つまり、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'); 

参考リンク:

https://issues.apache.org/jira/browse/HIVE-8049

https://issues.apache.org/jira/browse/HIVE-6329

関連する問題