Sqoop数据迁移工具
一、概述
sqoop 是 apache 旗下一款“ Hadoop 和关系数据库服务器之间传送数据”的工具。
导入数据: MySQL, Oracle 导入数据到 Hadoop 的 HDFS、 HIVE、 HBASE 等数据存储系统;
导出数据:从 Hadoop 的文件系统中导出数据到关系数据库 mysql 等
Sqoop 的本质还是一个命令行工具,和 HDFS, Hive 相比,并没有什么高深的理论。

二、工作机制
将导入或导出命令翻译成 mapreduce 程序来实现
在翻译出的 mapreduce 中主要是对 inputformat 和 outputformat 进行定制
三、sqoop安装
安装 sqoop 的前提是已经具备 java 和 hadoop 的环境
安装包下载地址 http://ftp.wayne.edu/apache/sqoop/1.4.6/
安装步骤 :
(1)准备安装包 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
(2) 解压安装包到安装目录
tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C apps/
cd apps
mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop1.4.6
(3) 进入到 conf 文件夹,找到 sqoop-env-template.sh,修改其名称为 sqoop-env.sh
cd conf
mv sqoop-env-template.sh sqoop-env.sh
(4) 修改 sqoop-env.sh

(5) 加入 mysql 驱动包到 sqoop1.4.6/lib 目录下
cp mysql-connector-java-5.1.39.jar apps/sqoop1.4.6/lib/
(6) 配置系统环境变量
vi /etc/profile
然后输入:
export SQOOP_HOME=/root/apps/sqoop1.4.6
export PATH=$PATH:$SQOOP_HOME/bin
然后保存退出
source /etc/profile
(7) 验证安装是否成功
sqoop –version

(8)出现如图所示画面,证明安装成功,那么接下来就可以正常使用了。
四、sqoop基本命令介绍


五、sqoop数据导入
“导入工具”导入单个表从 RDBMS 到 HDFS。表中的每一行被视为 HDFS 的记录。所有记录 都存储为文本文件的文本数据(或者 Avro、 sequence 文件等二进制数据)
1、导入mysql数据到HDFS
(1)普通导入

如果我们没有给该命令指定导出的文件的存储路径,那么默认会保存在 HDFS 上的
/user/root/help_keyword 目中
其中,第一个 user 是固定的,第二个 root,表示链接的用户名,第三个表示表名


从以上结果可以得出一个结论: 如果没有指定路径,则会按默认规则生成路径,如果没有 指定分隔符,默认按照逗号分隔
(2)指定分隔符和导入路径


(3)导入where条件数据
我们可以导入表的使用 Sqoop 导入工具, "where"子句的一个子集。它执行在各自的数据库 服务器相应的 SQL 查询,并将结果存储在 HDFS 的目标目录。 

(4)导入 Query 结果数据


2、导入 MySQL 到 HIVE
Sqoop 导入关系型数据到 hive 的过程是先导入到 hdfs,然后再 load 进入 hive
Sqoop数据迁移工具的更多相关文章
- Sqoop数据迁移工具的使用
文章作者:foochane 原文链接:https://foochane.cn/article/2019063001.html Sqoop数据迁移工具的使用 sqoop简单介绍 sqoop数据到HDF ...
- Sqoop 数据迁移工具
Sqoop 数据迁移工具 sqoop : SQL to hadOOP 两个功能: 1. RDB 向HDFS导入 2. HDFS向RDB导入 注:拷贝mysql-connector.jar 和 json ...
- 数据迁移工具sqoop
有问题........数据迁移工具sqoop sqoop安装 [root@sqoop data]# wget wget http://apache.fayea.com/sqoop/1.4.6/sqo ...
- sqoop 数据迁移
sqoop 数据迁移 1 概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HIVE.H ...
- sqoop数据校验
sqoop数据校验 # check data oracle_cnt=$(sqoop eval \ -Dmapred.job.queue.name=${queue} \ --connect ${conn ...
- 撸了个 django 数据迁移工具 django-supertube
撸了个 django 数据迁移工具 django-supertube 支持字段映射和动态字段转化. 欢迎 star,issue https://github.com/FingerLiu/django- ...
- 【Hadoop离线基础总结】Sqoop数据迁移
目录 Sqoop介绍 概述 版本 Sqoop安装及使用 Sqoop安装 Sqoop数据导入 导入关系表到Hive已有表中 导入关系表到Hive(自动创建Hive表) 将关系表子集导入到HDFS中 sq ...
- 数据迁移工具Sqoop和DataX功能比较
本文转载自: http://www.cnblogs.com/panfeng412/archive/2013/04/29/data-migration-tool-sqoop-and-datax.html ...
- sqoop数据导出导入命令
1. 将mysql中的数据导入到hive中 sqoop import --connect jdbc:mysql://localhost:3306/sqoop --direct --username r ...
随机推荐
- lua 中的 loadfile、dofile和require的调用
文件 hello.lua print("hello") function say() print("hello world") end 1. 介绍: dofil ...
- 身份证扫描识别/身份证OCR识别的正确姿势,你get到了吗?
自从国家规定电信实名制之后,实名制已经推广到各个领域:办理通信业务需要实名制.银行开户需要实名制.移动支付需要实名制,就连注册个自媒体账户都需要实名制. 而实名制的背后,就是身份证信息的采集和录入验证 ...
- json_encode替代函数
<?php function jsonEncode($var) { if (function_exists('json_encode')) { return json ...
- thinkphp5框架生成二维码
二话不说,先上代码: 第一中: 不用再本地保存文件,直接在前台页面显示: 这是控制器里面的内容,哦,对啦,首先要下载SDK:.phpqrcode类文件下载,下载地址:https://sourcefor ...
- leetcode13_C++罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并 ...
- 关于Amazon.com Seller 网络以及IP地址更换 官方回答
Greetings from Amazon Seller Support, I understand your concern that there will be a change of IP ad ...
- centos上搭建git服务--2
在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.window ...
- sprint3最终演示及团队贡献分
团队名:在考虑 团队项目:复利计算 项目演示: 之前的功能都有演示过就不再一一截图,把我们新增加的功能说一下 首先用户进入我们的网页可以登录或者注册,注册的用户可以直接输入用户名及密码登录,没有注册的 ...
- pandas中DataFrame的ix,loc,iloc索引方式的异同
pandas中DataFrame的ix,loc,iloc索引方式的异同 1.loc: 按照标签索引,范围包括start和end 2.iloc: 在位置上进行索引,不包括end 3.ix: 先在inde ...
- HDU 5200 Trees 二分
题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5200 bc(中文):http://bestcoder.hdu.edu.cn/contests ...