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 ...
随机推荐
- 人脸检测及识别python实现系列(4)——卷积神经网络(CNN)入门
人脸检测及识别python实现系列(4)——卷积神经网络(CNN)入门 上篇博文我们准备好了2000张训练数据,接下来的几节我们将详细讲述如何利用这些数据训练我们的识别模型.前面说过,原博文给出的训练 ...
- VR中射线点击按钮的实现
VR中实现UI的Button点击,主要是需要实现IPointerClickHandler接口,因为在Unity将所有的按钮操作都封装成了相应的接口,需要相应的功能只需要去实现对应的接口就好了.在这里我 ...
- Docker虚拟机172.17网段冲突,导致网络访问问题
在虚拟机中安装docker,linux ubuntu16 ,安装完公司172.17网段被docker0覆盖,导致ssh无法连接到ubuntu. 经过官网的这篇build your own bridge ...
- HP VC模块Shared uplink Sets配置参考
首先配置MAC地址的分配方式 在左侧导航栏中,点解"MAC Addresses" 选择VC分配MAC地址,并且选择一个合适的地址段,点击"Apply"继续 在弹 ...
- 基于腾讯云CLB实现K8S v1.10.1集群高可用+负载均衡
概述: 最近对K8S非常感兴趣,同时对容器的管理等方面非常出色,是一款非常开源,强大的容器管理方案,最后经过1个月的本地实验,最终决定在腾讯云平台搭建属于我们的K8S集群管理平台~ 采购之后已经在本地 ...
- python基础知识-7-内存、深浅、文件操作
python其他知识目录 1.一些对内存深入理解的案例 以下列举列表,列表/字典/集合这些可变类型都是一样的原理 变量是个地址,指向存储数据的内存空间的地址,它的实质就相当于c语言里的指针.变量和数据 ...
- LeetCode 36. Valid Sudoku (C++)
题目: Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according t ...
- Android开发第二阶段(5)
今天:对图片的替换修改,使整个app的图案化更美观. 明天:对Android的对sdcard的操作学习
- 总结在Visual Studio Code运行node.js项目遇到的问题
一.cannot find module “lodash” 项目运行时出现以下错误: Error: Cannot find module 'lodash' at Function.Module._re ...
- Android工程方法数超过64k,The number of method references in a .dex file cannot exceed 64K.
最近将一个老的Eclipse项目转到Android Studio后,用gradle添加了几个依赖,项目可以make,但是一旦run就报错 Error:The number of method refe ...