概述
Sqoop安装:(要有hadoop环境)
1.上传源码 sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz,并解压
# tar -zxvf sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/
2.安装和配置
2.1在/etc/profile添加sqoop到环境变量
export SQOOP_HOME=/opt/sqoop-1.4.4.bin__hadoop-2.0.4-alpha
export PATH=$PATH:$SQOOP_HOME/bin
2.2让配置生效
source /etc/profile
3.将数据库连接驱动拷贝到$SQOOP_HOME/lib里
Sqooq使用
第一类
数据库中的数据导入到HDFS上
# sqoop import --connect jdbc:mysql://192.168.0.104:3306/mysql --username root --password 12334234--table help_category --target-dir '/sqoop/td'
指定输出路径、指定数据分隔符
# sqoop import --connect jdbc:mysql://192.168.0.104:3306/mysql --username root --password 123456 --table help_category --target-dir '/sqoop/td' --fields-terminated-by 't'
指定Map数量 -m
#sqoop import --connect jdbc:mysql://192.168.0.104:3306/mysql --username root --password 123456 --table help_category --target-dir '/sqoop/td1' --fields-terminated-by 't' -m 1
增加where条件, 注意:条件必须用引号引起来
#sqoop import --connect jdbc:mysql://192.168.0.104:3306/mysql --username root --password 123456 --table help_category --where 'help_category_id>3' --target-dir '/sqoop/td2' --fields-terminated-by 't' -m 1
增加query语句(使用 将语句换行)
sqoop import --connect jdbc:mysql://192.168.0.104:3306/mysql --username root --password 123456
--query 'SELECT * FROM help_category where help_category_id > 2 AND $CONDITIONS' --split-by help_category.help_category_id --target-dir '/sqoop/td3'
注意:如果使用--query这个命令的时候,需要注意的是where后面的参数,AND $CONDITIONS这个参数必须加上
而且存在单引号与双引号的区别,如果--query后面使用的是双引号,那么需要在$CONDITIONS前加上即$CONDITIONS
如果设置map数量为1个时即-m 1,不用加上--split-by ${tablename.column},否则需要加上
自定义列导入
sqoop import --connect jdbc:mysql://192.168.0.104:3306/taxbook --username root --password 1231231 --columns " id,username,emall,mobile,emp_number,status,yxbz,online,userlevel,company_id,create_time,modify_time,create_ry,modify_ry,agent_no" --table sys_user --fields-terminated-by "t" --lines-terminated-by "n" --split-by id --delete-target-dir --target-dir hdfs://zsCluster/user/sqoop/ -m 2
--columns : 要导出的MySQL表中的字段
第二类
1)将HDFS上的数据导出到数据库中
sqoop export --connect jdbc:mysql://192.168.0.104:3306/mytest --username root --password 123455--export-dir '/td3' --table td_bak -m 1 --fields-termianted-by 't'
2)将hive的数据导出到数据库中
sqoop export --connect jdbc:mysql://192.168.0.104:3306/bigdata --username root --password 234144 --table user_tb_summary --fields-terminated-by '