一、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. CSS学习笔记(6)--浮动,三列布局,高度宽度自适应

    百度ife任务三,要求中间宽度自适应,高度取三列最高者. 开始用position的relative和absolute,但是relative不能自适应宽,absolute不能加float浮动,撑不起来外 ...

  2. PHP——简单的表单提交

    <body> <form name="" method="post" action="CHULI.php"> < ...

  3. ASP.NET MVC 使用 Datatables (1)

    具体步骤: 1.建立实体类 public class Asset { public System.Guid AssetID { get; set; } [Display(Name = "Ba ...

  4. EasyUI 表单 tree

    第一步:创建HTML标记 <divid="dlg"style="padding:20px;">     <h2>Account Info ...

  5. JSON动态生成树

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. C++ 运算符重载二(一元运算符重载)

    //一元运算符重载 #include<iostream> using namespace std; class Point { public: Point(int x,int y){ th ...

  7. PHP cURL库函数抓取页面内容

    目录 1 为什么要用cURL? 2 启用cURL 3 基本结构 4 检查错误 5 获取信息 6 基于浏览器的重定向 7 用POST方法发送数据 8 文件上传 9 cURL批处理(multi cURL) ...

  8. windows 10 搭建go环境

    1. 到 https://golang.org/ 下载go 的msi安装包.安装后 GOROOT 已经自动帮你设置好. 2.设置GOPATH 不能跟 GOROOT 同一个目录.到系统环境变量里新增一个 ...

  9. Android 扩展OkHttp支持请求优先级调度

    在当今这个App泛滥的时代,网络请求差点儿是每个App不可缺少的一部分.请求差点儿遍布App的每个界面中.我们进入A界面后.App发起了一系列请求,这时候假如另一部分请求没有被运行,我们就进入B界面開 ...

  10. 使用spring + ActiveMQ 总结

    使用spring + ActiveMQ 总结   摘要 Spring 整合JMS 基于ActiveMQ 实现消息的发送接收 目录[-] Spring 整合JMS 基于ActiveMQ 实现消息的发送接 ...