一、Sqoop概述
1)官网
http://sqoop.apache.org/
2)场景
传统型缺点,分布式存储。把传统型数据库数据迁移。
Apache Sqoop(TM)是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具。 二、Sqoop安装部署
1)下载安装包
2)解压
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
3)修改配置
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
cd sqoop/conf
mv sqoop-env-template.sh sqoop-env.sh vi sqoop-env.sh
export HADOOP_COMMON_HOME=/root/hd/hadoop-2.8.4
export HADOOP_MAPRED_HOME=/root/hd/hadoop-2.8.4
export HIVE_HOME=/root/hd/hive
export ZOOCFGDIR=/root/hd/zookeeper-3.4.10/conf
4)发送mysql驱动到sqoop/lib下
5)检测是否安装成功
bin/sqoop help 三、Sqoop的import命令 执行mysql -uroot -proot进入mysql命令行
准备数据:
create database sq;
use sq;
create table user(id int primary key auto_increment,name varchar(20),addr varcher(200));
insert into user(id,name,addr) values(1,"zhangsan","beijing");
insert into user(id,name,addr) values(2,"lisi","shanghai");
select * from user; create table user1(id int primary key auto_increment,name varchar(20));
insert into user1(id,name) values(1,"haha");
insert into user1(id,name) values(2,"hongqigong");
select * from user1; 1)数据从mysql中导入到hdfs当中
bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --table user --target-dir /sqoop/datas
--delete-target-dir --num-mappers 1 --fields-terminated-by "\t"
2)数据mysql中导入到hdfs当中进行筛选
bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --target-dir /sqoop/selectdemo --delete-target-dir
--num-mappers 1 --fields-terminated-by "\t" --query 'select * from user where id<=1 and $CONDITIONS'
3)通过where筛选
bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --target-dir /sqoop/selectdemo2 --delete-target-dir
--num-mappers 1 --fields-terminated-by "\t" --table user --where "id<=1"
4)mysql导入到hive
需要先创建hive表:
create table user_sqoop(id int,name string) row format delimited fields terminated by '\t'; bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --table user1 --num-mappers 1
--hive-import --fields-terminated-by "\t" --hive-overwrite --hive-table user_sqoop 四、问题:hiveconf
解决:
vi ~/.bash_profile
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/root/hd/hive/lib/*

   mysql权限问题:
grant all privileges on *.* to root@'%' identified by "root";
flush privileges; 五、Sqoop的export命令
需求:Hive/hdfs的数据导出到mysql
1)根据hive中的字段创建mysql表
create table user1(id int primary key auto_increment,name varchar(20));
2)编写sqoop启动命令
bin/sqoop export --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --table user1 --num-mappers 1
--export-dir /user/hive/warehouse/user_sqoop --input-fields-terminated-by "\t"
3)mysql中查看数据是否导入
select * from user1; 六、Sqoop打包脚本的使用
1)创建文件夹
mkdir sqoopjob
2)创建文件脚本
vi job_hdfs2mysql.opt
export
--connect
jdbc:mysql://hd09-1:3306/sq
--username
root
--password
root
--table
user1
--num-mappers
1
--export-dir
/user/hive/warehouse/user_sqoop
--input-fields-terminated-by
"\t"
注意:一行命令 一行值
3)执行脚本文件
bin/sqoop --options-file /root/sqoopjob/job_hdfs2mysql.opt 七、sqoop常用命令
命令           说明
import 将数据导入到集群
export 将集群数据导出
codegen 将某数据库中表生成javaBean并打包为jar
eval 查看sql执行结果
create­hive­table     创建hive表
import­all­tables     导入某个数据库中所有表到hdfs中
list­tables 列出某个数据库下的所有表
merge 将hdfs中不同目录下的数据合并在一起
version V 查看sqoop版本
help 查看帮助信息 八、sqoop常用参数
参数            说明
–connect 连接关系型数据库URL
–connection­manager 指定连接管理类
–driver JDBC的driver class
–username 连接数据库的用户名
–password 连接数据库的密码
–verbose 在控制台中打印详细信息
–help 查看帮助
–hive­import 将关系型数据库导入到hive表中
–hive­overwrite 覆盖掉hive表中已存在的数据
–create­hive­table 创建hive表
–hive­table 接入hive表
–table 指定关系型数据库的表名

Sqoop简介及使用的更多相关文章

  1. Sqoop 简介与安装

    一.Sqoop 简介 Sqoop是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出: 导入数据:从MySQL,Oracle等关系型数据库中导入数据到HDFS.Hive.HBase ...

  2. sqoop简介和原理分析

    Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL , ...

  3. 入门大数据---Sqoop简介与安装

    一.Sqoop 简介 Sqoop 是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出: 导入数据:从 MySQL,Oracle 等关系型数据库中导入数据到 HDFS.Hive.H ...

  4. Sqoop简介及安装

    Hadoop业务的大致开发流程以及Sqoop在业务中的地位: Sqoop概念 Sqoop可以理解为[SQL–to–Hadoop],正如名字所示,Sqoop是一个用来将关系型数据库和Hadoop中的数据 ...

  5. Sqoop简介

    一  Sqoop是什么 Sqoop:SQL-to-Hadoop 连接传统关系型数据库和Hadoop的桥梁 把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS.HBase 和 Hive) ...

  6. 【Sqoop学习之一】Sqoop简介

    环境 sqoop-1.4.6 Sqoop:将关系数据库(oracle.mysql.postgresql等)数据与hadoop数据进行转换的工具. 两个版本:两个版本完全不兼容,sqoop1使用最多:s ...

  7. Sqoop -- 用于Hadoop与关系数据库间数据导入导出工作的工具

    Sqoop是一款开源的工具,主要用于在Hadoop相关存储(HDFS.Hive.HBase)与传统关系数据库(MySql.Oracle等)间进行数据传递工作.Sqoop最早是作为Hadoop的一个第三 ...

  8. sqoop安装与使用

    sqoop简介 sqoop名字是怎么来的?Sqoop: SQL-to-Hadoop 连接传统数据库和hadoop的桥梁,把关系型数据库的数据导入到hadoop系统(如HDFS,HBASE和hive中) ...

  9. 【大数据技术】Sqoop

     1.Sqoop是什么 Sqoop:SQL-to-Hadoop,传统数据库与Hadoop间数据同步工具.(MySQL.Oracle <==> HDFS.HBase.Hive) Sqoop ...

随机推荐

  1. java:常用的两种设计模式(单例模式和工厂模式)

    一.单例模式:即一个类由始至终只有一个实例.有两种实现方式(1)定义一个类,它的构造方法是私有的,有一个私有的静态的该类的变量在初始化的时候就实例化,通过一个公有的静态的方法获取该对象.Java代码  ...

  2. centos IPTables 配置方法

    entos IPTables 配置方法 http://os.51cto.com/art/201103/249359_1.htm iptables 指南 1.1.19 http://www.frozen ...

  3. 用swift开发仪表盘控件(二)

    二.代码分析 这个控件本质就是从UIView继承的一个类而已.所以整个代码事实上就是一个定制的UIView类. 依据UIView的规则进行例如以下初始化: required init(coder aD ...

  4. java生成webservice

    使用Eclipse生成一个WebService应用 1.创建一个Dynamic web project 2.创建一个对外提供服务的类.比如: package com.guorui.services; ...

  5. Maven + Spring 进行多环境自动切换功能

    在pom.xml的<project></project>的最下放写入如下代码: <!-- profiles setting start [mvn install -P x ...

  6. 二分 + 模拟 - Carries

    Carries Problem's Link Mean: 给你n个数,让你计算这n个数两两组合相加的和进位的次数. analyse: 脑洞题. 首先要知道:对于两个数的第k位相加会进位的条件是:a%( ...

  7. 时钟.html

    <!DOCTYPE html><html charset="utf-8"> <head> <title>时钟</title&g ...

  8. 关于Web应用程序,下列说法错误的是( )。

    关于Web应用程序,下列说法错误的是( ). A.WEB-INF目录存在于web应用的根目录下 B. WEB-INF目录与classes 目录平行 C. web.xml在WEB-INF目录下 D. W ...

  9. 使用HashMap,put()表示放置元素,get()表示取元素

    SortedSet可自动为元素排序. SortedSet的实现类是TreeSet:它的作用是字为添加到TreeSet中的元素排序. 与HashSet不同,TreeSet并不需要实现HashCode() ...

  10. Static int data语句说明data为类变量,为一个类的共享变量,属于整个类

    面向对象高级:  修饰符: static:①可修饰变量(属性):②可修饰方法:③可修饰代码块. Static int data语句说明data为类变量,为一个类的共享变量,属于整个类. Int dat ...