sqoop加密脚本完成数据导入(rds=>hive)

1.首先保证hdfs启动,执行如下命令

hadoop credential create my_db_password_alias -provider localjceks://file/tmp/my_db.password.jceks

执行此命令后提示输入两次密码,密码表示的就是数据库的连接密码 

注意保存的文件后缀必须是.jceks。

my_db_password_alias 表示的是生成的密钥的别名 

tmp/my_db.password.jceks 表示把生成的密钥保存在本地服务器的目录和文件名

localjceks://file 表示生成在本地,固定格式 

2.通过hdfs命令把本地生成的密钥拷贝到hdfs的指定目录

hdfs dfs -put /tmp/my_db.password.jceks /user/pwd/sqoop 相当于剪切

hdfs dfs -copyFromLocal /tmp/my_db.password.jceks /user/pwd/sqoop  拷贝

两个命令都可以  

3.执行sqoop 的import命令

bin/sqoop import -Dhadoop.security.credential.provider.path=jceks://hdfs/sqoop/pwd --connect jdbc:mysql://linux41:3306/my_master --username root --password-alias my_db_password_alias --table t_user --num-mappers 1 --hive-import --fields-terminated-by "\t" --hive-overwrite --hive-table t_user_demo_sqoop_secret --hive-overwrite --delete-target-dir

--password-alias 后面的参数必须是上面定义的别名 

example:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。