Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库间进行数据的传递。
打开SQLyog连接hadoop01数据库,可以看到我们数据库。
在这里手动创建数据库userdb,字符集选utf8
在sqlyog中创建表emp
CREATE TABLE `emp` (
`id` int(11) NOT NULL,
`name` varchar(100) DEFAULT NULL,
`deg` varchar(100) DEFAULT NULL,
`salary` int(11) DEFAULT NULL,
`dept` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
);
然后插入测试数据:
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');
CREATE TABLE `emp_add` (
`id` int(11) NOT NULL,
`hno` varchar(100) DEFAULT NULL,
`street` varchar(100) DEFAULT NULL,
`city` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
);
INSERT INTO `emp_add` VALUES ('1201', '288A', 'vgiri', 'jublee');
INSERT INTO `emp_add` VALUES ('1202', '108I', 'aoc', 'sec-bad');
INSERT INTO `emp_add` VALUES ('1203', '144Z', 'pgutta', 'hyd');
INSERT INTO `emp_add` VALUES ('1204', '78B', 'old city', 'sec-bad');
INSERT INTO `emp_add` VALUES ('1205', '720X', 'hitec', 'sec-bad');
将emp表的数据导入到HDFS文件系统
通过HDFS UI界面查看数据结果文件
查看导入后的文件内容
向数据表emp进行增量导入
从HDFS UI界面查看增量导入结果
将emp_add表中的数据导入Hive
通过hive客户端查看Hive数据仓库表数据
Sqoop导出:就是将HDFS、Hive、Hbase等文件 系统或数据仓库中的数据导出到关系型数据库中,在导出操作之前,目标表必 须存在于目标数据库中,否则在执行导出操作时会失败。