1.sqoop全量导入数据到hdfs

本文详细介绍了如何使用sqoop将MySQL数据库的全量数据导入到HDFS,包括不指定目录、指定目录以及指定字段分隔符的情况。通过创建数据库和表,添加测试数据,然后使用sqoop的参数如`--target-dir`和`--fields-terminated-by`进行操作,最终在HDFS上验证数据是否成功导入。

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

1.导出数据库表全量数据到HDFS

  • 在MySQL数据库服务器中创建一个数据库userdb, 然后在创建一张表 emp,添加点测试数据到表中

  • 从MySQL数据库服务器中的userdb数据库下的emp表导入HDFS上

CREATE DATABASE /*!32312 IF NOT EXISTS*/`userdb` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `userdb`;

/*Table structure for table `emp` */

DROP TABLE IF EXISTS `emp`;

CREATE TABLE `emp` (
  `id` int(11) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `deg` varchar(20) DEFAULT NULL,
  `salary` double DEFAULT NULL,
  `dept` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `emp` */

insert  into `emp`(`id`,`name`,`deg`,`salary`,`dept`) values 

(1,'laozhang','manager',70000,'TP'),

(2,'laowang','develop leader',80000,'TP'),

(3,'laoli','ios dev',35000,'AC'),

(4,'laosi','Android dev',23000,'AC'),

(5,'laotie','admin',12000,'TP'),

(6,'laozi','bigdata',90000,'TP');
sqoop import --connect jdbc:mysql://node2:3306/userdb --username root   --password 123456 --table emp --m 1

没有指定hdfs目录,自动导入到当前用户目录,并且字段之间默认的分隔符是 ,逗号

提交之后,会运行一个MR程序,最后查看HDFS上的目录看是否有数据生成

2.导入数据库表数据到HDFS指定目录

  • 使用参数 --target-dir来指定导出目的地,

  • 使用参数--delete-target-dir来判断导出目录是否存在,如果存在就删掉

sqoop import  --connect jdbc:mysql://node2:3306/userdb --username root \
 --password 123456  --table emp  --target-dir /sqoopExportData/emp \
 --delete-target-dir --m 1

提交查看HDFS上的目录看是否有数据生成  

3.导入数据库表数据到HDFS指定目录并且指定数据字段的分隔符

使用参数 --fields-terminated-by 分隔符

sqoop import  --connect jdbc:mysql://node2:3306/userdb --username root --password 123456  --table emp  --target-dir /sqoop/emp1 --delete-target-dir --fields-terminated-by '#' --m 1

提交命令查看HDFS上的目录看是否有数据生成

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值