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任务为单位。

吴超老师课程--Sqoop的安装和介绍的更多相关文章

  1. 吴超老师课程--Flume的安装和介绍

    常用的分布式日志收集系统

  2. 吴超老师课程--Hbase介绍和伪分布式安装

    1.HBase(NoSQL)的数据模型1.1 表(table),是存储管理数据的.1.2 行键(row key),类似于MySQL中的主键.     行键是HBase表天然自带的.1.3 列族(col ...

  3. 吴超老师课程---Hadoop的分布式集群安装

    1.hadoop的分布式安装过程 1.1 分布结构 主节点(1个,是hadoop0):NameNode.JobTracker.SecondaryNameNode            从节点(2个,是 ...

  4. 吴超老师课程---Hadoop的伪分布安装

    1.1 设置ip地址    执行命令    service network restart    验证:         ifconfig1.2 关闭防火墙    执行命令    service ip ...

  5. 吴超老师课程--Hive的介绍和安装

    1.Hive1.1在hadoop生态圈中属于数据仓库的角色.他能够管理hadoop中的数据,同时可以查询hadoop中的数据.  本质上讲,hive是一个SQL解析引擎.Hive可以把SQL查询转换为 ...

  6. 吴超老师课程--Pig的介绍和安装

    1.Pig是基于hadoop的一个数据处理的框架.  MapReduce是使用java进行开发的,Pig有一套自己的数据处理语言,Pig的数据处理过程要转化为MR来运行. 2.Pig的数据处理语言是数 ...

  7. 吴超老师课程---ZooKeeper介绍和集群安装

    1.ZooKeeper    1.1 zk可以用来保证数据在zk集群之间的数据的事务性一致.2.如何搭建ZooKeeper服务器集群    2.1 zk服务器集群规模不小于3个节点,要求各服务器之间系 ...

  8. 吴超老师课程--HBASE的集群安装

    1.hbase的机群搭建过程(在原来的hadoop上的hbase伪分布基础上进行搭建)1.1 集群结构,主节点(hmaster)是hadoop,从节点(region server)是hadoop1和h ...

  9. 吴超老师课程--Hbase Shell

    hbase提供了一个shell的终端给用户交互 名称 命令表达式 创建表 create '表名称', '列族名称1','列族名称2','列族名称N' 添加记录 put '表名称', '行名称', '列 ...

随机推荐

  1. 2PC&3PC

    在分布式系统中,每一个机器节点虽然都能够明确地知道自己在进行实物操作过程中的结果是成功或失败,但却无法直接获取到其他分布式节点的操作结果.为了保持实物处理的ACID特性,就需要引入一个称为" ...

  2. Mock数据使用的Util

    package com.xxx.common.util; import java.lang.reflect.Field; import java.lang.reflect.Method; import ...

  3. 【Mac + GitHub】之在另一台Mac电脑上下载GitHub的SSH链接报错

    当输入git命令github项目时报错: ⇒ git clone git@github.com:/TX-Class.git Cloning into 'TX-Class'... Warning: Pe ...

  4. (转)servlet setCharacterEncoding setContentType

    转自:http://blog.csdn.net/fancylovejava/article/details/7700683 编码中的setCharacterEncoding 理解 1.pageEnco ...

  5. Codeforces Round #361 (Div. 2) E. Mike and Geometry Problem

    题目链接:传送门 题目大意:给你n个区间,求任意k个区间交所包含点的数目之和. 题目思路:将n个区间都离散化掉,然后对于一个覆盖的区间,如果覆盖数cnt>=k,则数目应该加上 区间长度*(cnt ...

  6. 【BZOJ3714】[PA2014]Kuglarz 最小生成树

    [BZOJ3714][PA2014]Kuglarz Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获 ...

  7. JavaWeb项目中文乱码问题

    1.从浏览器读数据乱码(post 请求方式) 前提是前端页面是UTF-8编码,因为服务器端默认采用ISO解码,所以乱码,在读取前加上: request.setCharacterEncoding(&qu ...

  8. 移动端:判断是否微信端、判断手机操作系统(ios或android)

    http://caibaojian.com/browser-ios-or-android.htmlfunction is_weixin() { var ua = window.navigator.us ...

  9. Powershell ——findstr

    从文件中找出关键字 $colItems = Get-ChildItem d:\test #定义文件夹的路径 foreach ($i in $colItems) #循环获取文件夹下的txt文件 { $f ...

  10. c# WinForm英雄联盟挂机源码及实现原理

    主要功能:全自动化英雄联盟挂机,游戏中会在原地放技能保持不掉线状态,游戏结束自动重新开始,自动选择英雄,可以晚上挂机刷人机: 缺陷:没怎么完善,如果掉线或者游戏崩溃网络断了软件会自动停止操作,使用时间 ...