1. 首页
  2. 大数据
  3. Sqoop教程

【Sqoop教程】(六)Sqoop优化命令direct、options-file、job

本章讲解几个有用的命令。能优化我们的sqoop作业。

案例1:direct使得导入加速

–direct:直连模式,使用mysqldump加快速度。本地测试30W条数据,快了10%左右。非常简单,还是之前我们敲过的那些命令,直接在末尾加上–direct就ok了。

bin/sqoop import --connect jdbc:mysql://master:3306/employees \
--username root --password 123456 \
--table departments \
--target-dir /user/student/sqoop/import/departments \
--direct

注意几个问题:

  • 【WARN manager.DirectMySQLManager: Direct-mode import from MySQL does not support column】direct方式仅仅支持所有的列 有column的话direct就无效了
  • 【Error: java.io.IOException: Cannot run program “mysqldump”: error=2, No such file or directory】 需要把mysqldump复制到从节点:scp /usr/bin/mysqldump cm-slave1:/usr/bin/
  • 使用direct会使得–null-non-string –null-string无效

案例2:options-file使得命令更简洁

我们之前都是在命令行敲一堆代码,很不友好,尤其是在实际公司,更不可能这样。都是把它写到文件,然后直接运行这个文件。

bin/sqoop --options-file import.txt
import.txt文件内容为:

import
--connect
jdbc:mysql://master:3306/hive
--username
root
--password
123456
--table
TBLS
-m
1
--target-dir
/user/sqoop/import/050508

案例3:job 复用之前的命令

如果我们每天都要做同样的事情,同样的命令,但每次都要重新敲,是不是太繁琐了呢?可以把它弄成一个job,直接执行这个job就行了。

[root@master bin]# ./sqoop job --help
Job management arguments:
   --create <job-id>            Create a new saved job
   --delete <job-id>            Delete a saved job
   --exec <job-id>              Run a saved job
   --help                       Print usage instructions
   --list                       List saved jobs
   --meta-connect <jdbc-uri>    Specify JDBC connect string for the
                                metastore
   --show <job-id>              Show the parameters for a saved job
   --verbose                    Print more information while working

创建job并查看

[root@master bin]# ./sqoop job --create myjob -- \
import --connect jdbc:mysql://master:3306/hive \
--username root --password 123456 \
--delete-target-dir \
--table TBLS \
-m 1
[root@master bin]# ./sqoop job --list
Available jobs:
  myjob

执行job

./sqoop job --exec myjob(会要求输入密码哦)

SQOOP Job一般与Crontab这样的调度器一起使用,将SQOOP Job创建好,再使用调度器定时执行Job

BDStar原创文章。发布者:Liuyanling,转载请注明出处:http://bigdata-star.com/archives/976

发表评论

登录后才能评论

联系我们

562373081

在线咨询:点击这里给我发消息

邮件:562373081@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code