Hive学习之七《 Sqoop import 从关系数据库抽取到HDFS》
一、什么是sqoop
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
二、sqoop的特点
Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS。
三、Sqoop import 命令
将Mysql的jdbc驱动放在/opt/cloudera/parcels/CDH/lib/sqoop/lib目录下。
如下图:

参考学习网址:
http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.0/SqoopUserGuide.html
命令详解:
1、基本语法
$ sqoop import (generic-args) (import-args)$ sqoop-import (generic-args) (import-args)
2、基本命令
查看网址:
http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.0/SqoopUserGuide.html
中的sqoop import的 Import control arguments

3、案例
方式一:
将表rpt_sale_daily中数据导入到HDFS上。
目标目录为:sqoop/rpt_sale_daily。
sqoop import --connect jdbc:mysql://master:3306/test \
--username root --password 123456 --table rpt_sale_daily \
--columns "dateid,huodong,pv,uv" \
--where "dateid='2015-08-28'" \
--target-dir sqoop/rpt_sale_daily \
-m 1
如果提示 sqoop/rpt_sale_daily 目录已经存在,执行:
hadoop fs -rmr sqoop/rpt_sale_daily
执行结果:如下图



20条数据成功导入,开始检测吧亲。
执行代码:
hadoop fs -cat sqoop/rpt_sale_daily/part-m-00000
数据如下图:

关系数据库表rpt_sale_daily里面的数据如下:

对比,数据相同,成功导入。
方式二:
通过opt文件的方式传送:
新建test.opt文件:
import
--connect
jdbc:mysql://192.168.0.115:3306/test
--username
root
--password --table
rpt_sale_daily
--columns
"id,huodong,pvv,uvv"
--where
"id='2015-08-28'"
--target-dir
sqoop/rpt_sale_daily
-m
执行指令:
sqoop options-file test.opt
执行过程和结果和方式一一样。
Hive学习之七《 Sqoop import 从关系数据库抽取到HDFS》的更多相关文章
- 【Hive学习之七】Hive 运行方式&权限管理
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 ...
- sqoop从oracle数据库抽取数据,导入到hive
环境: hadoop-2.7.5 sqoop-1.4.7 zookeeper-3.4.10 hive-2.3.3 (使用mysql配置元数据库) jdk1.8.0_151 oracle 11.2.0. ...
- (MySQL里的数据)通过Sqoop Import Hive 里 和 通过Sqoop Export Hive 里的数据到(MySQL)
Sqoop 可以与Hive系统结合,实现数据的导入和导出,用户需要在 sqoop-env.sh 中添加HIVE_HOME的环境变量. 具体,见我的如下博客: hadoop2.6.0(单节点)下Sqoo ...
- sqoop import mysql to hive table:GC overhead limit exceeded
1. Scenario description when I use sqoop to import mysql table into hive, I got the following error: ...
- hive学习笔记之七:内置函数
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之八:Sqoop
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Hive学习详细版
一.概述 1.Hadoop的开发问题 只能用java语言开发,存在语言门槛 需要对Hadoop底层原理,api比较了解才能做开发 开发调试比较麻烦 2.什么是Hive Hive是基于Hadoop的一个 ...
- sqoop命令,mysql导入到hdfs、hbase、hive
1.测试MySQL连接 bin/sqoop list-databases --connect jdbc:mysql://192.168.1.187:3306/trade_dev --username ...
- sqoop import 和export的问题
sqoop import DB 2 hive(hdfs)是采用JDBC的过程,与传统hive区别在与多走了thrift server接口(稳定性待学习现在还比较模糊没做过大数据量测试),而export ...
随机推荐
- GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮 ...
- dt dd 如何在同一行上
<style> dl{clear:left;} dt,dd{float:left;} </style> <dl> <dt>test </dt> ...
- struts2之防止表单重复提交
struts.xml配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts ...
- BZOJ 1048 [HAOI2007]分割矩阵
1048: [HAOI2007]分割矩阵 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 623 Solved: 449[Submit][Status ...
- 3A. Shortest path of the king
给你一个的棋盘, 问:从一个坐标到达另一个坐标需要多少步? 每次移动可以是八个方向. #include <iostream> #include <cmath> #inclu ...
- CodeForces 689C Mike and Chocolate Thieves
题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=412145 题目大意:给定一个数字n,问能不能求得一个最小的整 ...
- 行为树(Behavior Tree)实践(1)– 基本概念
原文地址:http://www.360doc.com/content/15/0107/11/15099545_438831036.shtml 自从开博以来,每天都会关心一下博客的访问情况,看到一些朋友 ...
- [Locked] Binary Tree Vertical Order Traversal
Binary Tree Vertical Order Traversal Given a binary tree, return the vertical order traversal of its ...
- PhoneGap应用开发的那些坑爹事儿
子曾经曰过:如果你恨一个人,让他去开发PhoneGap应用:如果你爱一个人,让他去开发PhoneGap应用. 去年这个时候我很烦恼,因为我觉得我OUT了. 起因是我买了一台Android系统的手机.当 ...
- [转] restrict关键字用法
PS: 在函数中,指针参数指定了restrict,表示这个指针指向的这段区域只能通过这个指针修改 c99中新增加了一个类型定义,就是restrict. 看了下网上的相关贴子,但还是问题解决的不够.下面 ...