一、概述

sqoop 是 apache 旗下一款“ Hadoop 和关系数据库服务器之间传送数据”的工具。

导入数据: MySQL, Oracle 导入数据到 Hadoop 的 HDFS、 HIVE、 HBASE 等数据存储系统;
    导出数据:从 Hadoop 的文件系统中导出数据到关系数据库 mysql 等
    Sqoop 的本质还是一个命令行工具,和 HDFS, Hive 相比,并没有什么高深的理论。

二、工作机制

将导入或导出命令翻译成 mapreduce 程序来实现
      在翻译出的 mapreduce 中主要是对 inputformat 和 outputformat 进行定制

三、sqoop安装

安装 sqoop 的前提是已经具备 java 和 hadoop 的环境
     安装包下载地址 http://ftp.wayne.edu/apache/sqoop/1.4.6/
     安装步骤 :

(1)准备安装包 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
      (2) 解压安装包到安装目录
              tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C apps/
              cd apps
              mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop1.4.6
      (3) 进入到 conf 文件夹,找到 sqoop-env-template.sh,修改其名称为 sqoop-env.sh
              cd conf
              mv sqoop-env-template.sh sqoop-env.sh
     (4) 修改 sqoop-env.sh

(5) 加入 mysql 驱动包到 sqoop1.4.6/lib 目录下
          cp mysql-connector-java-5.1.39.jar apps/sqoop1.4.6/lib/
   (6) 配置系统环境变量
         vi /etc/profile
         然后输入:
        export SQOOP_HOME=/root/apps/sqoop1.4.6
         export PATH=$PATH:$SQOOP_HOME/bin
        然后保存退出
        source /etc/profile
   (7) 验证安装是否成功
          sqoop –version

(8)出现如图所示画面,证明安装成功,那么接下来就可以正常使用了。

四、sqoop基本命令介绍

五、sqoop数据导入

“导入工具”导入单个表从 RDBMS 到 HDFS。表中的每一行被视为 HDFS 的记录。所有记录 都存储为文本文件的文本数据(或者 Avro、 sequence 文件等二进制数据)

1、导入mysql数据到HDFS

(1)普通导入

如果我们没有给该命令指定导出的文件的存储路径,那么默认会保存在 HDFS 上的
/user/root/help_keyword 目中
其中,第一个 user 是固定的,第二个 root,表示链接的用户名,第三个表示表名

从以上结果可以得出一个结论: 如果没有指定路径,则会按默认规则生成路径,如果没有 指定分隔符,默认按照逗号分隔

(2)指定分隔符和导入路径

(3)导入where条件数据

我们可以导入表的使用 Sqoop 导入工具, "where"子句的一个子集。它执行在各自的数据库 服务器相应的 SQL 查询,并将结果存储在 HDFS 的目标目录。 

(4)导入 Query 结果数据

2、导入 MySQL 到 HIVE

Sqoop 导入关系型数据到 hive 的过程是先导入到 hdfs,然后再 load 进入 hive

Sqoop数据迁移工具的更多相关文章

  1. Sqoop数据迁移工具的使用

    文章作者:foochane  原文链接:https://foochane.cn/article/2019063001.html Sqoop数据迁移工具的使用 sqoop简单介绍 sqoop数据到HDF ...

  2. Sqoop 数据迁移工具

    Sqoop 数据迁移工具 sqoop : SQL to hadOOP 两个功能: 1. RDB 向HDFS导入 2. HDFS向RDB导入 注:拷贝mysql-connector.jar 和 json ...

  3. 数据迁移工具sqoop

    有问题........数据迁移工具sqoop sqoop安装 [root@sqoop data]# wget  wget http://apache.fayea.com/sqoop/1.4.6/sqo ...

  4. sqoop 数据迁移

    sqoop 数据迁移 1 概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HIVE.H ...

  5. sqoop数据校验

    sqoop数据校验 # check data oracle_cnt=$(sqoop eval \ -Dmapred.job.queue.name=${queue} \ --connect ${conn ...

  6. 撸了个 django 数据迁移工具 django-supertube

    撸了个 django 数据迁移工具 django-supertube 支持字段映射和动态字段转化. 欢迎 star,issue https://github.com/FingerLiu/django- ...

  7. 【Hadoop离线基础总结】Sqoop数据迁移

    目录 Sqoop介绍 概述 版本 Sqoop安装及使用 Sqoop安装 Sqoop数据导入 导入关系表到Hive已有表中 导入关系表到Hive(自动创建Hive表) 将关系表子集导入到HDFS中 sq ...

  8. 数据迁移工具Sqoop和DataX功能比较

    本文转载自: http://www.cnblogs.com/panfeng412/archive/2013/04/29/data-migration-tool-sqoop-and-datax.html ...

  9. sqoop数据导出导入命令

    1. 将mysql中的数据导入到hive中 sqoop import --connect jdbc:mysql://localhost:3306/sqoop --direct --username r ...

随机推荐

  1. 在Notepad++中为Python配置编译环境

    方法1:按下F5 输入d:\Python25\python.exe "$(FULL_CURRENT_PATH)" 其中"d:\Python25\python.exe&qu ...

  2. js插件实现一键复制功能

    clipboard.js 可以实现纯 JS 的从浏览器复制文本到系统剪贴板的功能. 使用方法: 1. 下载 clipboard.js,并在页面中引入该插件.clipboard.js 下载地址: htt ...

  3. 进阶篇:4.1)DFA设计指南:简化产品设计(kiss原则)

    本章目的:理解kiss原则,明确如何简化产品的设计. 1.前言:kiss原则,优化产品的第一原则 如果要作者选出一个优化产品的最好方法,那一定是kiss原则莫属.从产品的整体设计到公差的分析,kiss ...

  4. JMeter与WireShark

    最近在学习JMeter,刚学了一点皮毛,就掉入了WireShark的坑,我发现在学习的道路上就是不断的给自己挖坑,之前在学习LoadRunner的道路上,遇到的坑更大,就单纯的安装LR就耗费了两个星期 ...

  5. OpenLDAP配置TLS加密传输

    原文发表于cu:2016-07-04 参考文档: 基于OpenSSL自建CA与颁发SSL证书:http://seanlook.com/2015/01/18/openssl-self-sign-ca/ ...

  6. 53. [LeetCode] Maximum Subarray

    Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...

  7. 联邦快递 IE和IP的区别 Fedex IE VS Fedex IP

    什么是FedEx IP? FedEx IP指的是联邦快递优先服务,时效比较快些,相对来说价格也比普通的高一些. 什么是FedEx IE? FedEx IE指的是联邦快递经济服务,时效与FedEx IP ...

  8. 用 Python 3 的 async / await 做异步编程

    前年我曾写过一篇<初探 Python 3 的异步 IO 编程>,当时只是初步接触了一下 yield from 语法和 asyncio 标准库.前些日子我在 V2EX 看到一篇<为什么 ...

  9. 王者荣耀交流协会--第2次Scrum会议

    Scrum master:袁玥 要求1:工作照片 要求2:时间跨度:2017年10月14号  6:02--6:43  共计41min 要求3:地点:一食堂二楼两张桌子旁(靠近卖方便面那边) 要求4:立 ...

  10. 关于jsp之间href传参(中文)乱码问题

    在A.jsp中有href传值 <a href=\"6.jsp?param="+rs.getString(2)+"\">" 在B.jsp中使 ...