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

表数据

在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(

idint,

name varchar(20),

deg varchar(20),

salaryint,

dept varchar(20)

);

018db7cc5b2608751725131e6010cd36.png

导入数据

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');

82358ebabbfd4578075412fadef53be1.png

create table emp_add(

idint,

hno varchar(20),

street varchar(20),

city varchar(20)

);

8a0e4bdee30077ddf88f0bc849525386.png

导入数据

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');

e02fb83ac02c9aa875ff04f00083fd52.png

create table emp_conn(

idint,

phnoint,

email varchar(20)

);

58a9703e8079c98f6e2e53dca5241c90.png

导入数据

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');

38952b3328178cfdb3ee046d5131ce0f.png

删除HDFS的目录

03b45b8f02f0847c78e4b83d65251956.png

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

bin/sqoop import \--connect jdbc:mysql://node1:3306/userdb \

--username sqoop \--password sqoop \--table emp --m 1

4752e9bff4d148f573f2ec49b07f4264.png

a6d3a57a03480c7ba32a29a0b6e773ab.png

8eec0d1feaae8c7f1786aa3f27847d1f.png

查看HDSF上的内容

c3b96002c96d977445a089626fe281cf.png

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

先启动Hive

afb941c0cd6f4b56a4e7aa152d556e71.png

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

14919cd9dd84adca7c1be00b36227f45.png

导入到hive表里面

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

137108a4e554681cfb1130350808d24c.png

a97e648cb80bce3a20cfdc762a583902.png

查看HDFS文件

24c004444505e6f71f37bde94874c17d.png

查看hive里面的表

990b182d42bfb3233c9daf1053332138.png

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

bin/sqoop import \--connect jdbc:mysql://node1:3306/userdb \

--username sqoop \--password sqoop \--target-dir /queryresult \--table emp_add --m 1

52a0082058cd9be46b195cd9c7dd4a3a.png

34f493847159faf763276f39e97534a0.png

9ebfffaecfea0833b35ee91fac067949.png

导入表数据子集

我们可以导入表的使用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

64160e947a5053c766707014f4d2e11a.png

626c88c8ae4a661589cd564112331397.png

a16569e62ebe0a22bcde3337b8e12185.png

查看HDFS文件内容

c6aad94456fc7c750aecb041b9944f55.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值