sqoop数据抽取数据库密码加密

本文介绍了如何使用sqoop从数据库中安全地抽取数据,重点在于数据库密码的加密处理。通过创建Hadoop Credential来加密密码,并在sqoop import命令中使用该加密密码进行数据库连接。详细步骤包括创建、删除密码凭证以及在sqoop导入操作中的应用示例。

#创建
hadoop credential create mysql.cock.passwd -provider jceks://hdfs/user/password/mysql.cock.passwd
#删除
hadoop credential delete mysql.cock.passwd -provider jceks://hdfs/user/password/mysql.cock.passwd

 

#示例数据库连接

hadoop, jdbc:mysql://172.16.2.103:3306/cock, mysql.cock.passwd, jceks://hdfs/user/password/mysql.cock.passwd

登入名               数据库地址+库名                                     密码别名                                                   密码文件地址

 

 

示例:

 

  jceks_path=jceks://hdfs/user/password/mysql.cock.passwd

  url= jdbc:mysql://172.16.2.103:3306/cock

  uid=hadoop

 

 

sqoop import 

  -Dhadoop.security.credential.provider.path=${jceks_path}   

  --connect ${url}

  --username ${uid}

  --password-alias   ${pwd}   

  --hive-import

  --hive-overwrite

  --hive-database ${hive_datebase}

  --hive-table ${hive_table}

  --fields-terminated-by 'x01'

  --lines-terminated-by ' '

  --null-string '\N'   

  --null-non-string '\N'   

  --hive-delims-replacement ' '

  --compress

  --compression-codec org.apache.hadoop.io.compress.SnappyCodec

  --hive-partition-key $hive_partition_key 

  --hive-partition-value  ${etl_time} 

  --target-dir /user/hdfs/${hive_table} 

  --query  "select ${columns} from ${tableName}  where $CONDITIONS" 

  --split-by id 

  -m ${parallel_count}   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值