Sqoop笔记

Posted 超级无敌小剑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqoop笔记相关的知识,希望对你有一定的参考价值。


sqoop底层没有reducer  只有n个mapper

--显示sqoop连接到的数据库列表
sqoop list-databases --connect jdbc:mysql://Ava01:3306 -username root -password 123456
--sqoop import data   导入库数据到HDFS
 1)需求:将user_info表的数据导入到HDFS中的/user_info目录下
要求只需要导入id,login _name,nick _name,name 四个字段的值只需要导入id >=100并且id <=200的数据
sqoop import \\
--connect jdbc:mysql://Ava01:3306/gmall \\
--username root \\
--password 123456 \\
--column id ,login_name.nick_name,name \\
--where "id >100 and id <200" \\
--targer-dir "/uer_info" \\
--delete-targer-dir \\
--num-mappers 2 \\
--split-by "id" \\
--fields-terminated-by "\\t" \\
--启用压缩
--z,--compress \\
--使用的编码器 默认格式是gzip Hadoop codec (default gzip)
--compression-codec \\       
-- 因为 Hive 使用字符串 \\N 来表示 NULL 值 所以需要使用这个保证可以正确识别null \\转义是个底层的java代码看的
--String类型的
--null-string \'\\\\N\' 
--非String类型的
--null-non-string \'\\\\N\'


sqoop import \\
--connect jdbc:mysql://Ava01:3306/gmall \\
--username root \\
--password 123456 \\
--column id ,login_name.nick_name,name \\
--where "id >100 and id <200" \\
--targer-dir "/uer_info" \\
--delete-targer-dir \\
--num-mappers 2 \\
--split-by "id" \\
--fields-terminated-by "\\t" \\

 

2) 使用 -e,--query <statement>    
--在 foo 表中插入一行
sqoop eval --connect jdbc:mysql://Ava01:3306/gmall \\
    -e "INSERT INTO foo VALUES(42, \'bar\')"

 

--导入语句的结果 可以join
sqoop import \\
--connect jdbc:mysql://Ava01:3306/gmall \\
--username root \\
--password 123456 \\
--query "SELECT id ,login_name.nick_name,name FROM uer_info  WHERE  id >100 and id <200 and \\$CONDITIONS\'";
--delete-targer-dir \\
--num-mappers 2 \\
--split-by "id" \\
--fields-terminated-by "\\t" 

 

 


--sqoop export data   导出HDFS数据到库 (hive)

 

以上是关于Sqoop笔记的主要内容,如果未能解决你的问题,请参考以下文章

Sqoop笔记整理

Sqoop笔记

Sqoop入门笔记-----架构以及应用介绍

sqoop笔记

sqoop 使用笔记

Hadoop学习笔记—18.Sqoop框架学习