当前位置:   article > 正文

sqoop的导入导出使用(详情步骤)_sqoop export

sqoop export

目录

一、sqoop的导入(import从MySQL导入hadoop)使用

1)准备MySQL的数据:

2)启动hadoop集群:

1.从mysql导入数据到hdfs中

1)sqoop命令

2)启动sqoop命令

2.从mysql导入数据到hive中

1)启动hive

2)sqoop命令

3)查看hive中的数据

4)也可以使用hdfs接口查看

二、sqoop的导出(export从hadoop导出到MySQL)使用

1)准备数据上传到hdfs

2)在MySQL中创建对应的表

3)现在将hdfs上的数据导出到MySQL

4)查看MySQL中的数据


一、sqoop的导入(import从MySQL导入hadoop)使用

1)准备MySQL的数据:

create table user1(name varchar(40),age int);
insert into user1 values("张三",18);
insert into user1 values("李华",21);

2)启动hadoop集群

start-all.sh

[hadoop@HadoopMaster ~]$ jps
3329 SecondaryNameNode
3572 ResourceManager
3884 Jps
3085 NameNode
[hadoop@HadoopMaster ~]$ 

1.从mysql导入数据到hdfs中

1)sqoop命令

  1. sqoop import \
  2. --connect jdbc:mysql://192.168.43.1:3306/dbtest \
  3. --username root \
  4. --password 123456 \
  5. --table user1 \
  6. --target-dir /mydata/ \
  7. --m 1

2)启动sqoop命令

查看hdfs对应路径下:

[hadoop@HadoopMaster sqoop-1.4.5]$ hdfs dfs -ls /mydata
2023-06-26 23:07:44,159 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items
-rw-r--r--   2 hadoop supergroup          0 2023-06-26 23:06 /mydata/_SUCCESS
-rw-r--r--   2 hadoop supergroup         20 2023-06-26 23:06 /mydata/part-m-00000

成功!

[hadoop@HadoopMaster sqoop-1.4.5]$ hdfs dfs -cat /mydata/part-m-00000
2023-06-26 23:09:44,593 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
张三,18
李华,21

2.从mysql导入数据到hive中

1)启动hive

2)sqoop命令

  1. sqoop import \
  2. --connect jdbc:mysql://192.168.43.1:3306/dbtest \
  3. --username root \
  4. --password 123456 \
  5. --table user1 \
  6. --hive-import \
  7. --hive-table hive_db03.user1 \
  8. --m 1

-->也可以指定hive的路径

  1. sqoop import \
  2. --connect jdbc:mysql://192.168.43.1:3306/dbtest \
  3. --username root \
  4. --password 123456 \
  5. --table user1 \
  6. --target-dir /user/hive/warehouse/hive_db03.db/user1 \
  7. --delete-target-dir \
  8. --fields-terminated-by ',' \
  9. --m 1

3)查看hive中的数据

hive> use hive_db03;
OK
Time taken: 0.019 seconds

hive> select * from user1;
OK

张三    18
李华    21
Time taken: 1.048 seconds, Fetched: 2 row(s)

4)也可以使用hdfs接口查看

[hadoop@HadoopMaster ~]$ hdfs dfs -cat /user/hive/warehouse/hive_db03.db/user1/part-m-00000
2023-06-26 23:58:24,695 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
张三,18
李华,21


二、sqoop的导出(export从hadoop导出到MySQL)使用

1)准备数据上传到hdfs

[hadoop@HadoopMaster ~]$ vim stu
[hadoop@HadoopMaster ~]$ cat stu
001,小明,20
002,小红,22
003,小王,23

上传到hdfs上:
hdfs dfs -put ./stu /mydata

[hadoop@HadoopMaster ~]$ hdfs dfs -cat /mydata/stu
2023-06-27 00:05:07,450 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
001,小明,20
002,小红,22
003,小王,23

2)在MySQL中创建对应的表

create table stu(id char(20),name varchar(40),age int);

3)现在将hdfs上的数据导出到MySQL

sqoop命令:

  1. sqoop export \
  2. --connect jdbc:mysql://192.168.43.1:3306/dbtest \
  3. --username root \
  4. --password 123456 \
  5. --table stu \
  6. --export-dir /mydata/stu \
  7. --fields-terminated-by ',' \
  8. --m 1

4)查看MySQL中的数据


mysql> select * from stu;
+------+--------+------+
| id   | name   | age  |
+------+--------+------+
| 001  | 小明   |   20 |
| 002  | 小红   |   22 |
| 003  | 小王   |   23 |
+------+--------+------+
3 rows in set (0.00 sec)

(hive导出到mysql更换路径就可以)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/693406
推荐阅读
相关标签
  

闽ICP备14008679号