没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
16页
笔记中详解介绍了在大数据开发学习过程中Sqoop相关知识点。 包括Sqoop概述;Sqoop安装步骤;Sqoop测试使用;import 相关命令的操作;创建数据表,并导入数据; 展示数据库sqoop中所有表;将MySQL数据导入到hdfs(全部导入和部分导入相关操作); 将MySQL数据导入到Hive;增量导入数据(包括:全量导入&增量导入);增量导入的2种方案; 从hdfs导出到mysql;从hive导出到mysql; Sqoop中的Job任务使用;使用Job任务实现增量导入;从mysql导入hdfs可以指定在hdfs上存储格式等等内容。 希望对有需要的朋友有所帮助,如有疑问,可以私信;整理不易,多多支持!
资源推荐
资源详情
资源评论
1. Sqoop笔记
1.1. Sqoop简介
1.2. Sqoop安装步骤
Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(HDFS/Hive/HBase)与传统的数据库
(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL
,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据
库中。
Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部
署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个[Apache]
(https://baike.baidu.com/item/Apache/6265)项目。
Sqoop的核心设计思想是利用MapReduce加快数据传输速度。也就是说Sqoop的导入和导出功能是通过
基于Map Task(只有map)的MapReduce作业实现的。所以它是一种批处理方式进行数据传输,难以实
现实时的数据进行导入和导出。
MySQL: 关系型数据库 (Oracle, SQL Server, DB2 ) -- 业务数据
HDFS: 海量数据存储(文件类型的)分布式文件存储系统
Hive: 数据分析工具(将SQL翻译为MR)
HBase: 非关系型数据库(NoSQL) 学习的Redis
Sqoop 是一个数据导入导出工具,可以将MySQL的数据导入到HDFS,Hive,Hbase中。(Flume 是一
个数据抽取工具)
也可以将HDFS,Hive 中的数据导出到mysql。
1
2
3
4
5
6
7
8
9
10
11
12
13
1,上传压缩包、解压
[root@hadoop10 modules]# tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C
/opt/installs/
2,重命名
[root@hadoop10 installs]# mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
3,配置环境变量
[root@hadoop10 installs]# vim /etc/profile
#追加以下内容:
1
2
3
4
5
6
7
8
9
1.3. Sqoop测试使用
export SQOOP_HOME=/opt/installs/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
4,刷新环境变量信息
[root@hadoop10 installs]# source /etc/profile
5,修改配置文件信息
[root@hadoop10 installs]# cd /opt/installs/sqoop/conf
[root@hadoop10 conf]# cp sqoop-env-template.sh sqoop-env.sh
#在配置文件中加入以下路径信息:
export HADOOP_COMMON_HOME=/opt/installs/hadoop3.1.4
export HADOOP_MAPRED_HOME=/opt/installs/hadoop3.1.4
export HIVE_HOME=/opt/installs/hive3.1.2
6,将mysql的驱动jar复制到sqoop的lib目录下 (底层需要用JDBC操作MySQL数据库)
[root@hadoop10 conf]# cp /opt/installs/sqoop/lib/mysql-connector-java-
8.0.26.jar /opt/installs/datax/lib/
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输
数据,叫做:导入,即使用import关键字。
1
[root@hadoop10 conf]# sqoop help
#会出现以下信息:
Available commands:
codegen Generate code to interact with database records
create-hive-table Import a table definition into Hive
eval Evaluate a SQL statement and display the results
export Export an HDFS directory to a database table
help List available commands
import Import a table from a database to HDFS
import-all-tables Import tables from a database to HDFS
import-mainframe Import datasets from a mainframe server to HDFS
job Work with saved jobs
list-databases List available databases on a server
list-tables List available tables in a database
merge Merge results of incremental imports
metastore Run a standalone Sqoop metastore
version Display version information
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
展示一个数据库中的所有数据库
[root@hadoop10 conf]# sqoop list-databases \
--connect jdbc:mysql://192.168.75.12:3306/ \
--username root \
--password 123456
1
2
3
4
5
Argument Description
--connect 指定JDBC连接字符串
--connection-manager 指定连接管理类
--driver 指定连接的驱动程序
-P 从控制台读入密码(可以防止密码显示中控制台)
--password 指定访问数据库的密码
--username 指定访问数据库的用户名
2. import 命令
2.1. 通用参数
2.2. 展示数据库sqoop中所有表
如果出现拒绝连接的情况:
1)驱动包导入错了 mysql8.0 需要 8.0驱动包
2)IP写错了 不要连接我的,连不上
3)mysql 没启动 肯定连不上
1
2
3
4
可以将命令写在一个文件中,通过文件传递参数(脚本):
[root@hadoop10 conf]# vim a.conf
写入以下内容:
list-databases
--connect
jdbc:mysql://192.168.75.12:3306
--username
root
--password
123456
执行
[root@hadoop10 conf]# sqoop --options-file a.conf
注意:这个a.conf 中不要使用\,不要将语句写成一行。前面也不要写sqoop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2.3. 创建数据表emp并导入数据
2.4. import 导入命令的参数
[root@hadoop10 conf]# sqoop list-tables \
--connect jdbc:mysql://192.168.75.12:3306/sqoop \
--driver com.mysql.cj.jdbc.Driver \
--username root \
--password 123456
访问的数据库名称:sqoop
1
2
3
4
5
6
7
CREATE TABLE emp(
empno INT PRIMARY KEY,
ename VARCHAR(50),
job VARCHAR(50),
mgr INT,
hiredate DATE,
sal DECIMAL(7,2),
comm DECIMAL(7,2),
deptno INT
) ;
INSERT INTO emp VALUES(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);
INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-
20',1600,300,30);
INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,'1981-02-
22',1250,500,30);
INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,'1981-04-
02',2975,NULL,20);
INSERT INTO emp VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-
28',1250,1400,30);
INSERT INTO emp VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-
01',2850,NULL,30);
INSERT INTO emp VALUES(7782,'CLARK','MANAGER',7839,'1981-06-
09',2450,NULL,10);
INSERT INTO emp VALUES(7788,'SCOTT','ANALYST',7566,'1987-04-
19',3000,NULL,20);
INSERT INTO emp VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-
17',5000,NULL,10);
INSERT INTO emp VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-
08',1500,0,30);
INSERT INTO emp VALUES(7876,'ADAMS','CLERK',7788,'1987-05-23',1100,NULL,20);
INSERT INTO emp VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30);
INSERT INTO emp VALUES(7902,'FORD','ANALYST',7566,'1981-12-
03',3000,NULL,20);
INSERT INTO emp VALUES(7934,'MILLER','CLERK',7782,'1982-01-
23',1300,NULL,10);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
剩余15页未读,继续阅读
资源评论
星夜读书人
- 粉丝: 16
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.dta
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.xlsx
- Reeds+Shepp曲线算法讲解和实现.pdf
- 毕业设计基于SpringBoot+MyBatisPlus+MySQL+Vue的外卖配送信息系统源代码+数据库
- 词向量(Word Embeddings)是自然语言处理(NLP)领域的一种重要技术.txt
- Surfer,线性函数
- MyBatis 的动态 SQL 是其核心特性之一.txt
- 时代的sdddsddsddsd
- 基于哈希链表的简单人员信息管理系统
- 其他类别JdonFramework开源框架 v5.1 Build20071025-jdonframework-5.1.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功