sqoop导出 建表_Sqoop导出

本教程介绍了如何使用Sqoop将HDFS中的数据导出到关系型数据库(如MySQL)中。首先需要在数据库中手动创建目标表,然后使用Sqoop的export命令,配合指定的连接、表名和HDFS路径,将数据插入或更新到数据库表中。通过示例展示了如何创建数据库表、执行导出命令及验证数据导入的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本章介绍如何将数据从HDFS导出到RDBMS数据库。目标表必须存在于目标数据库中。这是作为输入到Sqoop的文件包含记录,这被称为在表中的行。那些被读取并解析成一组记录和分隔与用户指定的分隔符。

默认的操作是从输入文件到数据库表,使用INSERT语句插入所有记录。在更新模式,Sqoop生成替换现有记录到数据库的UPDATE语句。

语法

以下是export命令语法。

$ sqoopexport(generic-args)(export-args)$ sqoop-export(generic-args)(export-args)

示例

在HDFS文件中的员工数据的一个例子,。员工数据是在HDFS“EMP/”目录的emp_data文件中。所述emp_data如下。

1201,gopal,manager,50000,TP1202,manisha,preader,50000,TP1203,kalil,php dev,30000,AC1204,prasanth,php dev,30000,AC1205,kranthi,admin,20000,TP1206,satish p,grp des,20000,GR

它是强制性的,该表手动导出创建并且存在于从要导出的数据库中。

下面的查询被用来创建MySQL命令行表'employee'。

$ mysql

mysql>USE db;mysql>CREATE TABLE employee(id INT NOT NULL PRIMARY KEY,name VARCHAR(20),deg VARCHAR(20),salary INT,dept VARCHAR(10));

下面的命令是用来导出表数据(这是在HDFS emp_data文件)到MySQL数据库服务器DB数据库的employee表中。

$ sqoopexport\--connect jdbc:mysql://localhost/db \--username root \--table employee \--export-dir/emp/emp_data

下面的命令是用来验证表mysql命令行。

mysql>select*fromemployee;

如果给定的数据存储成功,那么可以找到数据在如下的employee表。

+------+--------------+-------------+-------------------+--------+

| Id | Name | Designation | Salary | Dept |

+------+--------------+-------------+-------------------+--------+

| 1201 | gopal | manager | 50000 | TP |

| 1202 | manisha | preader | 50000 | TP |

| 1203 | kalil | php dev | 30000 | AC |

| 1204 | prasanth | php dev | 30000 | AC |

| 1205 | kranthi | admin | 20000 | TP |

| 1206 | satish p | grp des | 20000 | GR |

+------+--------------+-------------+-------------------+--------+

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值