Sqoop1.4.6使用指南
来源:互联网 发布:思途cms 6.0 编辑:程序博客网 时间:2024/06/05 18:22
sqoop使用指南
一、sqoop介绍
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具。可以将一个关系数据库(例如:MySQL,Oracle等)中的数据导进到Hadoop的HDFS文件系统中,也可以将HDFS的数据导进关系型数据库。
二、sqoop数据导入(以SQLServer数据库为例)
(1)、全表导入全表导入,顾名思义就是将关系型数据库指定的表数据导入到HDFS文件系统的根目录。
sqoop import --connect 'jdbc:sqlserver://192.168.1.116:1433;database=movielens' --username sa --password 123 --table glass #--connect:指定数据库JDBC链接字符串并且指定数据库名jdbc:sqlserver://192.168.1.116:1433;database=movielens #--username:指定数据库用户名 #--password:指定数据库密码 #--table:指定数据库表名
(2)、全表导入到HDFS文件系统指定文件夹顾名思义,就是将关系型数据库指定的表数据导入到HDFS文件系统的指定文件目录。指定的文件夹必须不能存在,sqoop会拒绝向已经存在的文件夹写入,以避免覆盖数据。
sqoop import --connect 'jdbc:sqlserver://192.168.1.116:1433;database=movielens' --username sa --password 123 --table glass --target-dir /movielens/glass #--connect:指定数据库JDBC链接字符串并且指定数据库名jdbc:sqlserver://192.168.1.116:1433;database=movielens #--username:指定数据库用户名 #--password:指定数据库密码 #--table:指定数据库表名 #--target-dir:指定存放数据的HDFS文件系统目录
(3)、部分表导入到HDFS文件系统顾名思义,就是将关系型数据库指定的表数据中的部分数据导入到HDFS文件系统中。
sqoop import --connect 'jdbc:sqlserver://192.168.1.116:1433;database=movielens' --username sa --password 123 \ --query 'SELECT top 10 * FROM glass WHERE $CONDITIONS' --split-by 'no' --target-dir /movielens/glass #--query :query查询语句'SELECT top 10 * FROM glass WHERE $CONDITIONS',以确定需要导入的数据。 #--split-by 'no': sqoop import --connect 'jdbc:sqlserver://192.168.1.116:1433;database=movielens' --username sa --password 123 \ --table glass --where "no = '1'" --target-dir /movielens/glass1 #--where:选取"no = '1'"的这条数据导入到HDFS文件系统
(4)、保护密码顾名思义,就是在输入数据库的密码的时候,命令sqoop从键盘键入中获取密码
sqoop import --connect 'jdbc:sqlserver://192.168.1.116:1433;database=movielens' --username sa -P \ --table glass --where "no = '1'" --target-dir /movielens/glass2 #--P:命令sqoop从键盘键入中获取密码
(5)、使用其他符号分割数据字段顾名思义,在sqoop传导数据时,默认的数据字段分割符为',',用户可以自定义数据字段分割符。
sqoop import --connect 'jdbc:sqlserver://192.168.1.116:1433;database=movielens' --username sa --password 123 \ --table glass --where "no = '1'" --target-dir /movielens/glass6 --fields-terminated-by '\t' #--fields-terminated-by:使用用户自定义的符号来作为字段分割符 sqoop import --connect 'jdbc:sqlserver://192.168.1.116:1433;database=DocContent_F10News' --username sa --password 123 \ --table DocContent --where " DOCID = '888888'" --split-by 'DOCID' --target-dir /DocContent_F10News/DocContent sqoop import --connect 'jdbc:sqlserver://192.168.1.116:1433;database=DocContent_F10News' --username sa --password 123 \ --table DocContent --where " DOCID = '888888'" --split-by 'DOCID' --target-dir /DocContent_F10News/DocContent3 \ --fields-terminated-by '#' --mysql-delimiters --hive-drop-import-delims Drops \n, \r, and \01 from string fields when importing to Hive. --hive-drop-import-delims:只能删除字段中的\n, \r, and \01
暂时还没有找到方法来清除字段内的'\t'
阅读全文
0 0
- Sqoop1.4.6使用指南
- sqoop1.4.6安装
- Sqoop1.4.6安装指南
- sqoop1.4.6安装
- sqoop1.4.6使用配置
- sqoop1.4.6安装部署
- sqoop1.4.6安装配置
- Sqoop1.4.6 增量导入HDFS
- sqoop1.4.6安装和使用
- sqoop1.4.6+hadoop2.6.2安装
- Sqoop1.4.6安装与使用(一)
- Sqoop1.4.6安装与使用(二)
- Sqoop1.4.6的安装及命令行使用
- sqoop1.4.6的安装和配置
- sqoop1.4.6命令使用(一)
- Sqoop1.4.6使用数据导入导出
- sqoop1.4.6实现Mysql与HDFS/Hbase的数据迁移
- Linux安装Sqoop(CentOS7+Sqoop1.4.6+Hadoop2.8.0+Hive2.1.1)
- 【bzoj1914】[Usaco2010 OPen]Triangle Counting 数三角形
- 文件操作--设置文件属性、获取文件属性
- ajax与servlet的动态交互
- opencv学习笔记--直方图
- C++ 反射的实现
- Sqoop1.4.6使用指南
- 类的加载和初始化
- fix协议封装挑战-DbFailExecuteThreadHandler
- TCP首部中的URG和PSH概念以及区别
- hihoCoder #1052 : 基因工程 ( 字符串处理 )
- Activity生命周期详解
- java 把A文件夹下的目录及文件拷贝到B 目录文件夹下
- eclipse
- 调用摄像头拍照和选择相册