天天看点

sqoop详解

版本 1.4.3

sqoop help 命令帮助

对应数据库的jdbc jar包复制到sqoop lib目录下

1.把数据从mysql导入hdfs(默认是/user/<username>中

sqoop import --connect  jdbc:mysql://localhost:3306/hive --username root --password root --table  TBLS --fields-terminated-by  '\t'  --null-string '**'  -m 1 --append

m代表map个数

append代表追加,目录存在的情况下

--hive-import代表导入到hive中

2.把数据从hdfs导出到mysql都是按目录导出(mysql事先要存在一个数据库和表)

sqoop export --connect  jdbc:mysql://localhost:3306/hive --username root

--password root --table  ids --fields-terminated-by  '\t'  --export-dir '/ids'

可以重复执行不断往mysql中插入

3.增量导入,生产中用的比较多(incremental)

--check-column 'TBL_ID'  --incremental append --last-value 6

4.设置作业

创建job(类似于脚本)

sqoop job --create  myjob -- import --connect  jdbc:mysql://localhost:3306/hive --username root

--password root --table  TBLS --fields-terminated-by  '\t' 

--null-string '**'  -m 1 --append

查看job

sqoop job --list

删除job

sqoop job --delete myjob

执行job

sqoop job --exec myjob

需要输入密码

5.导入导出的事务是以Mapper任务为单位

--satging-table中间表

staging-table <staging-table-name> 中间表