一、高速入门

(一)下载安装

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. Windows下FFmpeg高速入门

    本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进 ...

  2. Tensorflow高速入门2--实现手写数字识别

    Tensorflow高速入门2–实现手写数字识别 环境: 虚拟机ubuntun16.0.4 Tensorflow 版本号:0.12.0(仅使用cpu下) Tensorflow安装见: http://b ...

  3. C语言高速入门系列(二)

    C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...

  4. Swift高速入门之函数

    函数 看一个函数的样例: func addNumbers( let a:Int,let b:Int)->Int{ return a+b; } 实现两个数相加.函数必须以func开头,后面是函数名 ...

  5. C语言高速入门系列(八)

    C语言高速入门系列(八) C语言位运算与文件 本章引言: 在不知不觉中我们的C高速入门系列已经慢慢地接近尾声了,而在这一节中,我们会对 C语言中的位运算和文件进行解析,相信这两章对于一些人来说是陌生的 ...

  6. Spark高速入门指南(Quick Start Spark)

    版权声明:本博客已经不再更新.请移步到Hadoop技术博客:https://www.iteblog.com https://blog.csdn.net/w397090770/article/detai ...

  7. 教你高速入门Excel-宏与VBA(续)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/small_baby01/article/details/24028407 引言         通过 ...

  8. C语言高速入门系列(四)

    C语言高速入门系列(四) C语言数组 ---------转载请注明出处:coder-pig 贴心小提示:假设图看不清晰可右键另存为,应该就非常清晰了; 注意上面的代码都要自己过一遍哦! 本节引言: 经 ...

  9. 【solr专题之中的一个】Solr高速入门

    一.Solr学习相关资料 1.官方材料 (1)高速入门:http://lucene.apache.org/solr/4_9_0/tutorial.html.以自带的example项目高速介绍发Solr ...

随机推荐

  1. BZOJ 4552 排序 Heoi2016

    记得当年省选的时候 这道题连暴力都没写对(尴尬ing) (当年天真的认为sort是左闭右闭的hhhhhh) 思路: 首先 二分答案 线段树 首先二分答案,然后需要知道进行m次排序后p位置上的数字是否大 ...

  2. canvas指定的宽高写在行间和写在style里面的区别?

    上代码,指定的canvas宽高都一样,线条的粗细都是5px 1.宽:400:高:300:直接写在<canvas>里的效果: 2.删除<canvas>里的宽高,宽:400:高:3 ...

  3. 增强for循环的使用详解及代码

    首先说一下他的语法结构: for(数据类型 变量 :集合){ //这里写要遍历的元素,或者所需要的代码即可//如果集合中存放的是对象,可以获取到每个对象(数据类型=对象类型 变量(遍历出来的每个对象) ...

  4. 机器学习(四) 机器学习(四) 分类算法--K近邻算法 KNN (下)

    六.网格搜索与 K 邻近算法中更多的超参数 七.数据归一化 Feature Scaling 解决方案:将所有的数据映射到同一尺度 八.scikit-learn 中的 Scaler preprocess ...

  5. C++笔试专题一:运算符重载

    一:下面重载乘法运算符的函数原型声明中正确的是:(网易2016校招) A:MyClass operator *(double ,MyClass); B:MyClass operator *(MyCla ...

  6. golang实现php里的serialize()和unserialize()序列和反序列方法

    Golang 实现 PHP里的 serialize() . unserialize() 安装 go get -u github.com/techleeone/gophp/serialize 用法 pa ...

  7. HDU 4398 Template Library Management (最优页面调度算法)

    中等偏易题.操作系统理论中的最优页面调度算法,贪心.当需要淘汰某个模版时,淘汰掉当前手中在最远的将来才会被用到(或者以后永远不再用到)的那个. 代码: #include <iostream> ...

  8. oracle基础入门(四)

    一:其实oracle的语法跟sql servce 挺像的只有一些个别的差异而已 1):安装Oracle的数据库一般它的表中会自带了两站表: 是 emp(员工表) , dept(部门) 单表查询 sel ...

  9. MyBatis学习总结(17)——Mybatis分页插件PageHelper

    如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 分页插件支持任何复杂的单表.多表分页,部分特殊情况请看重要提示. 想要使用分页插件?请看如何使用分页插件. 物理分页 该 ...

  10. [转] C# HttpWebRequest 绝技

    c# HttpWebRequest与HttpWebResponse绝技    阅读原文 如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧.本文章会对Http请求时的G ...