您的位置:首页 > 运维架构

吴超老师课程--Sqoop的安装和介绍

2016-04-08 13:42 239 查看
SQOOP是用于对数据进行导入导出的。
(1)把MySQL、Oracle等数据库中的数据导入到HDFS、Hive、HBase中
(2)把HDFS、Hive、HBase中的数据导出到MySQL、Oracle等数据库中

一:安装步骤
1.解压、设置环境变量,略
2.把mysql.............jar放到$SQOOP_HOME/lib中

二:把mysql中的表复制到hdfs/hive中
sqoop ##sqoop命令
import ##表示导入
--connect jdbc:mysql://ip:3306/sqoop ##告诉jdbc,连接mysql的url
--username root ##连接mysql的用户名
--password admin ##连接mysql的密码
--table mysql1 ##从mysql导出的表名称
--fields-terminated-by '\t' ##指定输出文件中的行的字段分隔符
-m 1 ##复制过程使用1个map作业
--hive-import ##把mysql表数据复制到hive空间中。如果不使用该选项,意味着复制到hdfs中

三:把hive中的表数据复制到mysql中
sqoop
export ##表示数据从hive复制到mysql中
--connect jdbc:mysql://ip:3306/sqoop
--username root
--password admin
--table mysql2 ##mysql中的表,即将被导入的表名称
--export-dir '/user/root/warehouse/mysql1' ##hive中被导出的文件目录
--fields-terminated-by '\t' ##hive中被导出的文件字段的分隔符
注意:mysql2必须存在

四:具体执行操作
1.把数据从mysql导入到hdfs(默认是/user/<username>)中
sqoop import --connect jdbc:mysql://hadoop:3306/hive --username root --password 465213a --table TBLS --fields-terminated-by '\t' --null-string '**' -m 1 --append --hive-import

sqoop import --connect jdbc:mysql://hadoop:3306/hive --username root --password admin --table TBLS --fields-terminated-by '\t' --null-string '**' -m 1 --append --hive-import --check-column 'TBL_ID' --incremental append --last-value 6

2.把数据从hdfs导出到mysql中
sqoop export --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table ids --fields-terminated-by '\t' --export-dir '/ids'

3.设置为作业,运行作业
sqoop job --create myjob -- import --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table TBLS --fields-terminated-by '\t' --null-string '**' -m 1 --append --hive-import

4. 导入导出的事务是以Mapper任务为单位。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: