sqoop常用命令

1、列出mysql数据库中的所有数据库

sqoop list-databases –connect jdbc:mysql://localhost:3306/ -username dyh -password 000000

2、连接mysql并列出数据库中的表

sqoop list-tables –connect jdbc:mysql://localhost:3306/test –username dyh –password 000000

3、将关系型数据的表结构复制到hive中

sqoop create-hive-table –connect jdbc:mysql://localhost:3306/test –table users –username dyh

–password 000000 –hive-table users –fields-terminated-by “\0001” –lines-terminated-by “\n”;

参数说明:

–fields-terminated-by “\0001” 是设置每列之间的分隔符,”\0001”是ASCII码中的1,它也是hive的默认行内分隔符, 而sqoop的默认行内分隔符为”,”

–lines-terminated-by “\n” 设置的是每行之间的分隔符,此处为换行符,也是默认的分隔符;

注意:只是复制表的结构,表中的内容没有复制

4、将数据从关系数据库导入文件到hive表中

sqoop import --connect jdbc:mysql://localhost:3306/test --username dyh --password 000000 

--table users --hive-import --hive-table users -m 2 --fields-terminated-by "\0001";

参数说明:

-m 2 表示由两个map作业执行;

–fields-terminated-by “\0001” 需同创建hive表时保持一致;

5、将hive中的表数据导入到mysql数据库表中


sqoop export --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000 

--table users --export-dir /user/hive/warehouse/users/part-m-00000 

--input-fields-terminated-by '\0001'

注意:

1、在进行导入之前,mysql中的表userst必须已经提起创建好了。

2、jdbc:mysql://192.168.20.118:3306/test中的IP地址改成localhost会报异常,具体见本人上一篇帖子

6、将数据从关系数据库导入文件到hive表中,–query 语句使用

 sqoop import --append --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000 --query "select id,age,name from userinfos where \$CONDITIONS"  -m 1  --target-dir /user/hive/warehouse/userinfos2 --fields-terminated-by ",";

7、将数据从关系数据库导入文件到hive表中,–columns –where 语句使用

 sqoop import --append --connect jdbc:mysql://192.168.20.118:3306/test --username dyh --password 000000 --table userinfos --columns "id,age,name"  --where "id > 3 and (age = 88 or age = 80)"  -m 1  --target-dir /user/hive/warehouse/userinfos2 --fields-terminated-by ",";

注意:–target-dir /user/hive/warehouse/userinfos2 可以用 –hive-import –hive-table userinfos2 进行替换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值