文档章节

使用Sqoop实现HDFS与Mysql互转

疯狂的艺术家
 疯狂的艺术家
发布于 2013/05/10 16:30
字数 688
阅读 9065
收藏 33

简介

        Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导入到HadoopHDFS中,也可以将HDFS的数据导入到关系型数据库中。

http://sqoop.apache.org/

环境

    当调试过程出现IncompatibleClassChangeError一般都是版本兼容问题。

    为了保证hadoopsqoop版本的兼容性,使用Cloudera

    Cloudera简介:

        Cloudera为了让Hadoop的配置标准化,可以帮助企业安装,配置,运行hadoop以达到大规模企业数据的处理和分析。

http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDHTarballs/3.25.2013/CDH4-Downloadable-Tarballs/CDH4-Downloadable-Tarballs.html

    下载安装hadoop-0.20.2-cdh3u6sqoop-1.3.0-cdh3u6

目的

        将mysql数据转换为hadoop文件,从而可以使用map/reduce进行大数据的分析,然后再将分析结果转换回mysql,供业务查询调用。

安装

    安装比较简单,直接解压即可

    唯一需要做的就是将mysqljdbc适配包mysql-connector-java-5.0.7-bin.jar copy$SQOOP_HOME/lib下。

    配置好环境变量:/etc/profile

    export SQOOP_HOME=/home/hadoop/sqoop-1.3.0-cdh3u6/

    export PATH=$SQOOP_HOME/bin:$PATH

MYSQLHDFS-示例

./sqoop import --connect jdbc:mysql://10.8.210.166:3306/recsys --username root --password root --table shop -m 1 --target-dir /user/recsys/input/shop/$today

输出数据:

./hadoop fs -cat /user/recsys/input/shop/2013-05-07/*

生成的hdfs数据

287,516809,0,0,6,25,45.78692,126.65384

288,523944,0,0,29,6,120.26087,30.17264

-------------------------------------------------------


HDFSMYSQ-示例

./sqoop export --connect jdbc:mysql://10.8.210.166:3306/recsys --username root --password root --table shopassoc  --fields-terminated-by ',' --export-dir /user/recsys/output/shop/$today

输入数据:

./hadoop fs -cat /user/recsys/output/shop/2013-05-07/*

Hdfs原始数据

null,857207,729974,947.0818,29,2013-05-08 10:22:29

null,857207,524022,1154.2603,29,2013-05-08 10:22:29

--------------------------------------------------------------------------

技巧

       导出导入的数据与字段的顺序进行匹配

      从HDFS转换回mysql 的时候,自动增长的主键字段处,可以留空

示例参数说明

参数类型

参数名

解释

公共

connect

Jdbc-url

公共

username

---

公共

password

---

公共

table

表名

Import

target-dir

制定输出hdfs目录,默认输出到/user/$loginName/

export

fields-terminated-by

Hdfs文件中的字段分割符,默认是“\t

export

export-dir

hdfs文件的路径


导出大数据的拆分:

m

使用多少个并行导入,默认是1,未开启,数据量大的话会自动根据主键ID进行拆分

split-by

使用于没有主键的表的拆分,指定拆分的字段,拆分的原则是分布要广泛(自动拆分)

Where

同时可以手动执行多次,通过where条件进行手动拆分

 

参数

解释

Job

定时作业, 个人觉得没啥意义,通常我更相信crontab

eval

执行sql,远程进行一些操作,但是经过测试发现不支持 delete

create-hive-table

复制某一个数据源的数据存储到hive


其他命令请参考:http://archive.cloudera.com/cdh/3/sqoop/SqoopUserGuide.html

© 著作权归作者所有

疯狂的艺术家

疯狂的艺术家

粉丝 194
博文 241
码字总数 124216
作品 0
海淀
技术主管
私信 提问
加载中

评论(1)

chape
chape
mark
HDFS Everywhere——RDBMS on HDFS

关系型数据库和HDFS的结合 ** 目录 ** 简介: – 题目: – 摘要: – 背景: 思路和计划: – 目标: 分工: 已有解决方案: – Sqoop: Solution: sqoop与loading对比: 项目简介: – 题目...

dukeke
2015/06/25
0
0
sqoop 完成与关系型数据库的互导

一.安装SQOOP后可使用如下命令列出mysql数据库中的所有数据库,与检验是否安装成功。 # sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password 123456 ...

gulf
2018/06/26
66
0
Sqoop1和Sqoop2简介

主要来源: http://www.linuxidc.com/Linux/2014-10/108337.htm 1.什么是Sqoop Sqoop即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具,充分利用MapReduce并行特...

强子大叔的码田
2015/12/23
1K
0
大数据教程(13.5)sqoop数据迁移工具安装&简单导入实例

上一篇章节,介绍了azkaban的几个实战案例;本篇博客博主将为小伙伴们分享数据迁移工具sqoop的安装来帮助熟悉其使用。 一、概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数...

em_aaron
03/18
46
2
CentOS7下hadoop开发 - hdfs文件导入与导出

文件准备 centOS下安装wget命令 hdfs和本地文件相互复制(hadoop shell命令) 1、 在 HDFS 中创建一个新文件夹,用于保存 weblog_entries.txt 文件: hadoop fs -mkdir -p /data/weblogs 2、...

无畏的老巨人
08/01
43
0

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
今天
4
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
8
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
9
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
7
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部