0
点赞
收藏
分享

微信扫一扫

15.sqoop数据从mysql里面导入到HDFS里面

女侠展昭 2022-06-17 阅读 68

表数据

在mysql中有一个库userdb中三个表:emp, emp_add和emp_contact

表emp

id

name

deg

salary

dept

1201

gopal

manager

50,000

TP

1202

manisha

Proof reader

50,000

TP

1203

khalil

php dev

30,000

AC

1204

prasanth

php dev

30,000

AC

1205

kranthi

admin

20,000

TP

表emp_add:

id

hno

street

city

1201

288A

vgiri

jublee

1202

108I

aoc

sec-bad

1203

144Z

pgutta

hyd

1204

78B

old city

sec-bad

1205

720X

hitec

sec-bad

表emp_conn:

 

id

phno

email

1201

2356742

gopal@tp.com

1202

1661663

manisha@tp.com

1203

8887776

khalil@ac.com

1204

9988774

prasanth@ac.com

1205

1231231

kranthi@tp.com

 

分别创建三个表

create table emp(
id int,
name varchar(20),
deg varchar(20),
salary int,
dept varchar(20)
);

15.sqoop数据从mysql里面导入到HDFS里面_hdfs

 

 导入数据

insert into emp values(1201,'gopal','manager',50000,'TP');
insert into emp values(1202,' manisha ',' Proof reader',50000,'TP');
insert into emp values(1203,' khalil','php dev',30000,'AC');
insert into emp values(1204,' prasanth',' php dev',30000,'AC');
insert into emp values(1205,' kranthi',' admin',20000,'TP');

 15.sqoop数据从mysql里面导入到HDFS里面_sqoop_02

 

 

create table emp_add(
id int,
hno varchar(20),
street varchar(20),
city varchar(20)
);

 15.sqoop数据从mysql里面导入到HDFS里面_mysql_03

 

导入数据

insert into emp_add values(1201,'288A','vgiri','jublee');
insert into emp_add values(1202,'1801','aoc','sec-bad');
insert into emp_add values(1203,'144Z','pguttai','hyd');
insert into emp_add values(1204,'78B','old city','sec-bad');
insert into emp_add values(1205,'720X','hitec','sec-bad');

 

 15.sqoop数据从mysql里面导入到HDFS里面_sqoop_04

 

 

create table emp_conn(
id int,
phno int,
email varchar(20)
);

 15.sqoop数据从mysql里面导入到HDFS里面_sqoop_05

 

 导入数据

insert into emp_conn values(1201,'2356742','gopal@tp.com');
insert into emp_conn values(1202,'1661663','manisha@tp.com');
insert into emp_conn values(1203,'8887776','khalil@ac.com');
insert into emp_conn values(1204,'9988774','prasanth@ac.com');
insert into emp_conn values(1205,'1231231','kranthi@tp.com');

15.sqoop数据从mysql里面导入到HDFS里面_hdfs_06

 

 

 删除HDFS的目录

15.sqoop数据从mysql里面导入到HDFS里面_hdfs_07

 

 

 从MySQL数据库服务器中的emp表导入HDFS

bin/sqoop import \
--connect jdbc:mysql://node1:3306/userdb \
--username sqoop \
--password sqoop \
--table emp --m 1

 

15.sqoop数据从mysql里面导入到HDFS里面_hdfs_08

15.sqoop数据从mysql里面导入到HDFS里面_sqoop_09

 

 15.sqoop数据从mysql里面导入到HDFS里面_hdfs_10

查看HDSF上的内容

15.sqoop数据从mysql里面导入到HDFS里面_mysql_11

 

 

 

 接下来把Mysql的数据导入到Hive里面

 先启动Hive

15.sqoop数据从mysql里面导入到HDFS里面_hdfs_12

 

 在导入之前先把HDFS的/user/hadoop/emp删除,因为Hive的数据是存放在HDFS上

15.sqoop数据从mysql里面导入到HDFS里面_hdfs_13

 

 导入到hive表里面

[hadoop@node1 sqoop]$ bin/sqoop import --connect jdbc:mysql://node1:3306/userdb --username sqoop --password sqoop --table emp --hive-import --m 1

 15.sqoop数据从mysql里面导入到HDFS里面_sqoop_14

15.sqoop数据从mysql里面导入到HDFS里面_hdfs_15

 

 

 查看HDFS文件

15.sqoop数据从mysql里面导入到HDFS里面_mysql_16

 

 查看hive里面的表

15.sqoop数据从mysql里面导入到HDFS里面_sqoop_17

 

 

从mysql数据库中导入到HDFS中的指定目录

bin/sqoop import \
--connect jdbc:mysql://node1:3306/userdb \
--username sqoop \
--password sqoop \
--target-dir /queryresult \
--table emp_add --m 1

15.sqoop数据从mysql里面导入到HDFS里面_mysql_18

 15.sqoop数据从mysql里面导入到HDFS里面_hdfs_19

15.sqoop数据从mysql里面导入到HDFS里面_mysql_20

 

 

导入表数据子集

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

 

 下面的命令用来导入emp_add表数据的子集。子集查询检索员工ID和地址,居住城市为:Secunderabad

bin/sqoop import \
--connect jdbc:mysql://node1:3306/userdb \
--username sqoop \
--password sqoop \
--where "city ='sec-bad'" \
--target-dir /wherequery \
--table emp_add --m 1

 15.sqoop数据从mysql里面导入到HDFS里面_hdfs_21

15.sqoop数据从mysql里面导入到HDFS里面_sqoop_22

 

 15.sqoop数据从mysql里面导入到HDFS里面_hdfs_23

 

 

查看HDFS文件内容

15.sqoop数据从mysql里面导入到HDFS里面_hdfs_24

 

举报

相关推荐

0 条评论