1. 下载 Sqoop,并复制到虚拟机

  http://sqoop.apache.org/

2. 安装Sqoop

  tar zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz  #解压 SQOOP

  mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop-1.4.6  #重命名

  vim /etc/profile  #修改环境变量

    增加 Sqoop环境变量

    SQOOP_HOME=/opt/sqoop-1.4.6

    PATH=$SQOOP_HOME/bin:...$PATH

  source /etc/profile  #source环境变量

  cd /opt/sqoop-1.4.6/conf  #修改Conf文件

  cp sqoop-env-template.sh sqoop-env.sh

  vim sqoop-env.sh

    export HADOOP_COMMON_HOME=/opt/hadoop-2.7.3

    export HADOOP_MAPRED_HOME=/opt/hadoop-2.7.3

  sqoop version  #检查 Sqoop安装 是否成功

3. jdbc

  下载 mysql-connector-java-5.1.41.tar.gz

  tar zxf mysql-connector-java-5.1.41.tar.gz

  cp mysql-connector-java-5.1.41-bin.jar /opt/sqoop-1.4.6/lib/

4. Import

  sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata  #默认导入hdfs://user/root/customers/

  sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --username bigdata --table customers --target-dir /classicmodels/customers  #增加 hdfs路径

  sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --columns "customerNumber, customerName, phone, city" --username bigdata --target-dir /classicmodels/customers_SpecificColumns  #指定特定的列

  sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customers_parallel8 -m 8  #设置并行度为8

  sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customers_Sequence --class-name bigdata.classicmodels.customers --as-sequencefile  #设置生成的类名和导入到sequencefile

  You can import data in one of two file formats: delimited text or SequenceFiles

  Delimited text is the default import format; SequenceFiles are a binary format that store individual records in custom record-specific data types;

  SequenceFiles is higher-performance than reading from text files, as records do not need to be parsed

  sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customers_Delimiters --fields-terminated-by '\t' --lines-terminated-by '\n' --optionally-enclosed-by '\"'  #分割;fields,字段; lines,行; --optionally-enclosed-by,字段内容按照(")封闭

  sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customer_Where --where "customerNumber < 130"  #指定Where条件

  sqoop import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --columns "customerName, phone, city" --username bigdata --target-dir /classicmodels/customer_split --split-by customerName -m 2  #按照customerName分割任务,设置并行度(MapReduce)

5. import-all-tables

  hdfs dfs -rm -f -R -skipTrash /user  #删除hdfs目录,-skipTrash,不移动到回收站

  sqoop import-all-tables --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --username bigdata  #导入所有表

6. export

  sqoop export --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers_export --username bigdata --fields-terminated-by ',' --lines-terminated-by '\n' --optionally-enclosed-by '\"' --export-dir /user/root/customers  #将HDFS目录下的数据导入到MySQL的表中。

7.  job

  sqoop job --create sJob -- import --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --target-dir /classicmodels/customers_Job  #创建Job

  sqoop job --list  #列出当前所有Job

  sqoop job --show sJob  #显示sJob的详细信息

  sqoop job --exec sJob  #执行Sqoop Job

  sqoop job --exec sJob -- --username root  #在--之后,重新指定Job参数

  

8. codegen

  sqoop codegen --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --table customers --username bigdata --outdir /tmp/ -class-name customer  #生成jar包到指定目录

9. merge

  sqoop merge --new-data /classicmodels/customers/part-m-00000 --onto /classicmodels/customers/part-m-00001 --target-dir /classicmodels/customers/merged --merge-key customerNumber --jar-file /tmp/sqoop-root/compile/70b8bc2b57230f3240f589f594d9d85f/customer.jar --class-name customer

10. eval

  sqoop eval --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --username bigdata --query "Select customerNumber, customerName, contactLastName, contactFirstName From customers Limit 10"  #eval,直接执行SQL语句并将结果显示在控制台

11. list-databases

  sqoop list-databases --connect jdbc:mysql://bigdata.mysql:3306 --username bigdata  #显示所有的databases

12. list-tables

  sqoop list-tables --connect jdbc:mysql://bigdata.mysql:3306/classicmodels --username bigdata  #显示database下的所有表

13. help

  sqoop help import  #显示sqoop工具的帮助

14. version

  sqoop version

  

  

  

BG.Sqoop的更多相关文章

  1. sqoop:Failed to download file from http://hdp01:8080/resources//oracle-jdbc-driver.jar due to HTTP error: HTTP Error 404: Not Found

    环境:ambari2.3,centos7,sqoop1.4.6 问题描述:通过ambari安装了sqoop,又添加了oracle驱动配置,如下: 保存配置后,重启sqoop报错:http://hdp0 ...

  2. 安装sqoop

    安装sqoop 1.默认已经安装好java+hadoop 2.下载对应hadoop版本的sqoop版本 3.解压安装包 tar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-a ...

  3. Hadoop学习笔记—18.Sqoop框架学习

    一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...

  4. Oozie分布式任务的工作流——Sqoop篇

    Sqoop的使用应该是Oozie里面最常用的了,因为很多BI数据分析都是基于业务数据库来做的,因此需要把mysql或者oracle的数据导入到hdfs中再利用mapreduce或者spark进行ETL ...

  5. [大数据之Sqoop] —— Sqoop初探

    Sqoop是一款用于把关系型数据库中的数据导入到hdfs中或者hive中的工具,当然也支持把数据从hdfs或者hive导入到关系型数据库中. Sqoop也是基于Mapreduce来做的数据导入. 关于 ...

  6. [大数据之Sqoop] —— 什么是Sqoop?

    介绍 sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具.你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中:也可以把数据从hdfs中导出到关系型数据 ...

  7. Sqoop切分数据的思想概况

    Sqoop通过--split-by指定切分的字段,--m设置mapper的数量.通过这两个参数分解生成m个where子句,进行分段查询.因此sqoop的split可以理解为where子句的切分. 第一 ...

  8. sqoop数据导出导入命令

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

  9. Apache Sqoop - Overview——Sqoop 概述

    Apache Sqoop - Overview Apache Sqoop 概述 使用Hadoop来分析和处理数据需要将数据加载到集群中并且将它和企业生产数据库中的其他数据进行结合处理.从生产系统加载大 ...

随机推荐

  1. ABP框架入门踩坑-添加实体

    添加实体 ABP踩坑记录-目录 这里我以问答模块为例,记录一下我在创建实体类过程中碰到的一些坑. 审计属性 具体什么是审计属性我这里就不再介绍了,大家可以参考官方文档. 这里我是通过继承定义好的基类来 ...

  2. C++解析头文件-Qt自动生成信号定义

    目录 一.概述 二.实现思路 三.代码讲解 1.类图 2.QtCppDescription 3.测试 四.源代码 一.概述 上一篇文章C++解析头文件-Qt自动生成信号声明我们主要讲解了怎么去解析C+ ...

  3. 670. Maximum Swap

    Given a non-negative integer, you could swap two digits at most once to get the maximum valued numbe ...

  4. 【2019年OCP新题】OCP题库更新出现大量新题-11

    11.Your database is in archivelog mode. You want to disable archiving for the database. Examine thes ...

  5. jzoj5806

    我們發現,如果有奇環顯然無解,因為我們每一次合併一個奇環,一定會產生一個偶環和一個更小的奇環,最終會形成一個三元環而無法合併 所以,這個圖需要是一個二分圖,需要進行二染色 然後把這個圖所有的偶環找出來 ...

  6. ThinkPHP5.0手把手实现手机阿里云短信验证

    阿里云短信服务介绍阿里云短信服务就是以前的阿里大于,不过现在融合得到阿里云平台了.首先,你需要注册一个阿里云账号,这个自行解决. 仅用于测试使用官方送的代金券够用了.相关配置1.开通阿里云Access ...

  7. hdu-5875

    题目大意: f(l,r)=a[l]   l==r f(l,r)=f(l,r-1)%a[r]  l<r 思路: 由此可以推出f(l,r)=a[l]%a[l+1]%a[l+2]%....%a[r] ...

  8. Ubuntu16.04安装使用Consul

    Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStack 等相比,Consul 的方 ...

  9. 微信小程序组件化实践

    Do Not Repeat Yourself 如何提高代码质量,方法有许多:抽象.模块.组件化,我认为它们的中心点都是--Do Not Repeat Yourself. 小程序组件化 我们先看看小程序 ...

  10. 消息队列 MQ 入门理解

    功能特性: 应用场景: 消息队列 MQ 可应用于如下几个场景: 分布式事务 在传统的事务处理中,多个系统之间的交互耦合到一个事务中,响应时间长,影响系统可用性.引入分布式事务消息,交易系统和消息队列之 ...