Sqoop笔记二之命令使用
2016-11-06 20:08
330 查看
ist-databases命令查看所有的数据库
linux下执行:sqooplist-databases --connect jdbc:mysql://192.168.172.1:3306/ -username root-password password
-P 不显示密码执行中需要手动输入密码
import
sqoop命令实际上都是转换为map任务。Import命令是将DB数据导入hdfs,我的数据库中有一个staff表内有若干数据。staff表
执行sqoop命令
sqoop import --connectjdbc:mysql://192.168.172.1:3306/shb02 -username root -password password --tablestaff
Sqoop默认会生成4个文件,一条记录一个文件,大于4条记录则最多生成4个文件。
-m –target-dir
sqoop import --connectjdbc:mysql://192.168.172.1:3306/shb02 -username root -password password --tablestaff -m 1 --target-dir sqoop_import_staff
-m 表示只生成一个文件
--target-dir sqoop_import_staff 表示指定生成文件的名称,在hdfs中的路径为/user/root/sqoop_import_staff/part-m-00000
--target-dir import_staff 在hdfs中的路径为/import_staff/part-m-00000
如下图显示3条记录都存在于一个文件中
-z –append --where
sqoop import --connectjdbc:mysql://192.168.172.1:3306/shb02 -username root -password password --tablestaff -m 1 --target-dir /import_staff --append --where "id=3" –z
-append 追加数据,如果指定路径下存在文件part-m-00000则会生成新的文件,如part-m-00001
-z 使用压缩格式导入,导入的文件使用-text查看
--where 根据字段过滤,先全部从数据库读出然后再根据条件过滤将符合要求的记录写入hdfs
--null-string --null-non-string
sqoop import --connectjdbc:mysql://192.168.172.1:3306/shb02 -username root -password password --tablestaff -m 1 --target-dir /import_staff --append --null-string "#"--null-non-string "-1"
--null-string "#" 表示当vchar字段为null时以#代替
--null-non-string "-1" 表示当非vchar字段为null以-1代替
--where
sqoop import --connectjdbc:mysql://192.168.172.1:3306/shb02 -username root -password password -m 1--target-dir /import_staff --append --null-string "#"--null-non-string "-1" --query "select * from staff where id=3and \$CONDITIONS"
--where 后面跟sql语句,但是有无where都必须有\$CONDITIONS
注意:以上操作需要启动hadoop集群不能只启动hdfs否则会报错
相关文章推荐
- Linux学习笔记13--使用mount命令挂载CDROM
- 【笔记】ECHO命令的使用
- hbase命令使用笔记
- liun系统命令大全学习笔记(附加命令使用方法)
- 使用SQLPlus命令(笔记)
- 笔记整理(一)-sar命令的使用说明
- hive学习笔记之-使用Sqoop把Oracle表导入Hive
- 【Vim】Vim使用笔记之三——Vim常用命令
- Git 各常见命令、使用方法、笔记
- Linux 学习笔记_3_Linux常用命令_8_Shell使用技巧
- fdisk命令使用笔记
- linux 命令使用笔记
- maven的命令使用笔记
- DOS命令个人学习使用笔记
- 使用DOS命令之“net user”笔记
- 开发笔记:FTP命令使用详解
- Metasploit使用笔记[快速命令行msfcli]3
- Linux 命令使用笔记 (来自于鸟哥 经自己整理哈!)(连载中。。。)
- maven笔记(2)-- 构建Java Project 及 Maven命令使用
- git 学习笔记二-- 进阶命令的使用