一、快速入门

(一)下载安装

1、下载并解压

wget http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.2.tar.gz

tar -zxvf sqoop-1.4.4-cdh5.1.2.tar.gz



2、将sqoop中的命令添加至$PATH中

export PATH=$PATH:/home/jediael/setupfile/sqoop-1.4.4-cdh5.1.2/bin



3、验证安装

jediael@jediael:~/setupfile/sqoop-1.4.4-cdh5.1.2/bin$ source /etc/profile

……..

15/05/15 09:47:37 INFO sqoop.Sqoop: Running Sqoop version: 1.4.4-cdh5.1.2

Sqoop 1.4.4-cdh5.1.2

……..



(二)在mysql中准备数据

1、创建数据库交授权

create database sqoop;

use sqoop;

GRANT ALL PRIVILEGES ON sqoop.* TO ''@'localhost';





2、创建表

create table widgets(

    id int not null primary key auto_increment,

    widget_name varchar(64) not null,

    price decimal(10,2),

    design_date date,

    version int,

    design_comment varchar(100));



3、插入数据

insert into widgets values(null, 'sprocket', 0.25, '2010-02-10', 1, 'Connects two gizmos');

insert into widgets values(null, 'gizmos', 4.00, '2009-11-30', 4, null);

insert into widgets values(null, 'gadget', 99.99, '193-08-13', 13, 'Our flagship product');    



(三)将mysql中的数据导入hdfs

1、准备jdbc connector,并将之入到sqoop/lib目录下

wget http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.35.tar.gz

tar -zxvf mysql-connector-java-5.1.35.tar.gz

cp mysql-connector-java-5.1.35-bin.jar ../sqoop-1.4.4-cdh5.1.2/lib/



2、导入数据

sqoop import --connect jdbc:mysql://localhost/sqoop --table widgets -m 1



3、查看数据

$ hadoop fs -cat widgets/part-m-00000

15/05/15 10:29:29 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

1,sprocket,0.25,2010-02-10,1,Connects two gizmos

2,gizmos,4.00,2009-11-30,4,null

3,gadget,99.99,0193-08-13,13,Our flagship product



4、import除了将数据导入hdfs中,还在当前目录生成了widgets.java文件。

还可以使用以下命令只生成java类,而不进行实际的导入:

sqoop import --connect jdbc:mysql://localhost/sqoop --table widgets --class-name widget







二、sqoop与hive

(一)将数据导入hive

1、若仅需要将mysql中的数据导入sqoop中,则可以执行以下命令

sqoop import --connect jdbc:mysql://localhost/sqoop --table widgets -m 1 --hive-import

验证数据:

hive> select * from widgets;

OK

1    sprocket    0.25    2010-02-10    1    Connects two gizmos

2    gizmos    4.0    2009-11-30    4    null

3    gadget    99.99    0193-08-13    13    Our flagship product

Time taken: 1.299 seconds, Fetched: 3 row(s)



2、若需要先将mysql中的数据导入hdfs,再从hdfs中导入hive

(1)将数据导入hdfs:见上面。

(2)创建表

sqoop create-hive-table --connect jdbc:mysql://localhost/sqoop --table widgets --fields-terminated-by ‘,'

这会根据mysql中的表结构直接创建一个hive表。

(3)将hdfs中的数据导入hive中

hive> load data inpath "widgets" into table widgets;

此时数据存储在/user/hive/warehouse/widgets



(二)在hive中进行数据分析

1、创建hive表,用于保存分析结果

create table widgets_sum(sum int);



2、分析

hive> insert into table widgets_sum select count(1) from  widgets;



(三)将数据导出到mysql

1、在mysql中创建表,用于保存从hive中导出的结果

create table widgets_sum(sum int);

注意,sqoop能够根据mysql的结构自动生成hive表,但反之不行,必须手工建表

2、sqoop export --connect jdbc:mysql://localhost/sqoop -m 1 --table widgets_sum --export-dir /user/hive/warehouse/widgets_sum --input-fields-terminated-by '\0001







异常:

1、若没执行GRANT ALL PRIVILEGES ON sqoop.* TO ''@'localhost’;

则会出现以下异常:

15/05/15 10:25:28 ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)

java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)

sqoop 1.4.4-cdh5.1.2快速入门的更多相关文章

  1. sqoop 1.4.4-cdh5.1.2快速入门 分类: C_OHTERS 2015-06-06 11:40 208人阅读 评论(0) 收藏

    一.快速入门 (一)下载安装 1.下载并解压 wget http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.2.tar.gz tar - ...

  2. Hive数仓之快速入门(二)

    上次已经讲了<Hive数据仓库之快速入门一>不记得的小伙伴可以点击回顾一下,接下来我们再讲Hive数据仓库之快速入门二 DQL hive中的order by.distribute by.s ...

  3. Hadoop生态圈-大数据生态体系快速入门篇

    Hadoop生态圈-大数据生态体系快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.大数据概念 1>.什么是大数据 大数据(big data):是指无法在一定时间 ...

  4. 大数据技术之_09_Flume学习_Flume概述+Flume快速入门+Flume企业开发案例+Flume监控之Ganglia+Flume高级之自定义MySQLSource+Flume企业真实面试题(重点)

    第1章 Flume概述1.1 Flume定义1.2 Flume组成架构1.2.1 Agent1.2.2 Source1.2.3 Channel1.2.4 Sink1.2.5 Event1.3 Flum ...

  5. 1.2 Hadoop快速入门

    1.2 Hadoop快速入门 1.Hadoop简介 Hadoop是一个开源的分布式计算平台. 提供功能:利用服务器集群,根据用户定义的业务逻辑,对海量数据的存储(HDFS)和分析计算(MapReduc ...

  6. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  7. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  8. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  9. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. LINUX BASH SHELL,小小学习一下

    注意点要注意的: 整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 x 加 1 可以写作:let "x = $x + 1" 或者 x=`expr $x + 1` ...

  2. Qt自定义事件的实现(军队真正干活,但要增加监军,大平台通知事件,事件内容自定义)

    初学Qt,用了Qt自带的事件,然后想怎么才能定义自己的事件呢?又如何使用自定义事件呢?看了篇文章,说先要子类化QEvent,然后定义自己的QEvent::Type,然后重写QWidget::event ...

  3. 用JvisualVM监视远程tomcat

    在tomcat的catcalina.sh 中java_opts 环境变量中添加以下参数: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmx ...

  4. 最短路算法模板合集(Dijkstar,Dijkstar(优先队列优化), 多源最短路Floyd)

    再开始前我们先普及一下简单的图论知识 图的保存: 1.邻接矩阵. G[maxn][maxn]; 2.邻接表 邻接表我们有两种方式 (1)vector< Node > G[maxn]; 这个 ...

  5. PHP 错误提示

    HTTP/1.1 200 OKServer: nginxDate: Thu, 20 Jun 2013 03:06:10 GMTContent-Type: text/html; charset=utf- ...

  6. SqlServer新建视图

    一.使用SQL Server 2005数据库管理系统创建视图 1. 启动SQL Server 2005. 2. 在“对象资源管理器”窗口中找到Student数据库,打开Student文件夹,在“视图” ...

  7. UVAlive3713 Astronauts(2-SAT)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18511 [思路] 2-SAT. 设分得A或B类任务为1 C类任务为 ...

  8. 大龄剩女四大结局:孤寡 后妈 拉拉 出家 宽带山KDS-宽带山社区-第一城市消费门户

    大龄剩女四大结局:孤寡 后妈 拉拉 出家 宽带山KDS-宽带山社区-第一城市消费门户 主题:大龄剩女四大结局:孤寡 后妈 拉拉 出家

  9. 数据库安全之TDE列加密

    透明数据加密(Transparent Data Encryption) TDE - 基于列的加密 由于有了Oracle的TDE-基于列的加密,你所要做的只是定义需要加密的列,Oracle将为包含加密列 ...

  10. JuiceSSh破解分析

    JuiceSSH是一款免费的远程ssh客户端,感觉是一款挺优秀的软件,里边有一些高级功能需要购买高级版才能使用,这里便对其对高级功能的破解进行分析. 本文仅用于学习交流使用,请尊重作者,勿在网上肆意发 ...