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. 用e2fsck修复受损的linux文件系统

    今天想尝试直接从linux deepin拷贝一些文件到windows 10而不重启电脑,所以就安装Ext2Mgr了并加载了linux的几个磁盘: / /home 再次重启系统想进入linux的时发现系 ...

  2. 破解idea注册码

    添加 “0.0.0.0 account.jetbrains.com”到host, hosts位置:C:\Windows\System32\drivers\etc 获取注册码网址: http://ide ...

  3. C++ 类的多态五(多态的语法本质分析)

    //多态的语法本质分析 #include<iostream> using namespace std; /* 三种易混淆的多态场景 */ class Point{ public: Poin ...

  4. Cmake实现样例

    多目录工程的CmakeLists.txt编写(自动添加多目录下的文件) http://www.cnblogs.com/chengxuyuancc/p/5347646.html 实现类似于vs中工程的C ...

  5. 什么是AOP和OOP,IOC和DI有什么不同?

    什么是AOP和OOP,IOC和DI有什么不同? 解答: 1)面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.AOP是OOP的延续, ...

  6. Java 和因特网

    既然Java 不过另一种类型的程序设计语言,大家可能会奇怪它为什么值得如此重视,为什么还有这么多的人 认为它是计算机程序设计的一个里程碑呢?如果您来自一个传统的程序设计背景,那么答案在刚开始的时候 并 ...

  7. input file reader

    研究过程中关于本主体的相关参考 好文:https://hacks.mozilla.org/2011/01/how-to-develop-a-html5-image-uploader/ 好文:http: ...

  8. Android中的&lt;include&gt;标签和&lt;merge&gt;标签

    android开发中经常会碰到某一个布局的复用:直接拷贝粘贴并不是是有效的策略,这时候就能够借助<include>标签和<merge>标签来完毕. 官方文档: http://d ...

  9. ios在数字键盘左下角添加“完成”按钮的实现原理

    本文转载至 http://www.itnose.net/detail/6145865.html 最近要在系统弹出的数字键盘上的左下角额外添加一个自定制的完成按钮,于是研究了一下系统自带键盘添加自定制按 ...

  10. svn服务器配置 for mac

      本文转载至 http://blog.sina.com.cn/s/blog_5e42f31a010156z4.html 1.找到合适的目录,新建一个版本库的目录:mkdir svn 创建版本库:sv ...