1 sqoop是Apache 提供的工具,用于hdfs和关系型数据库之间数据的导入和导入
2 可以从hdfs导出数据到关系型数据库,也可以从关系型数据库导入数据到hdfs
解压Sqoop de 安装包 在lib利用指令操作
1 查看mysql所有数据库
sh sqoop list-databases --connect jdbc:mysql://192.168.150.138:3306/ -username root -password root
2 查看指定数据库下的所有表
sh sqoop list-tables --connect jdbc:mysql://hadoop02:3306/hive -username root -password root
3 关系型数据库 ->hdfs
先在mysql数据库的test数据下建立一张tabx表,并插入测试数据
建表:create table tabx (id int,name varchar(20));
插入:insert into tabx (id,name) values (1,'aaa'),(2,'bbb'),(3,'ccc'),(1,'ddd'),(2,'eee'),(3,'fff');
进入到sqoop的bin目录下,执行导入语句:sh sqoop import --connect jdbc:mysql://192.168.150.138:3306/test --username root --password root --table tabx --target-dir '/sqoop/tabx' --fields-terminated-by '|' -m 1;
4 hdfs ->关系型数据库
执行:sh sqoop export --connect jdbc:mysql://192.168.150.138:3306/test --username root --password root --export-dir '/sqoop/tabx/part-m-00000' --table taby -m 1 --fields-terminated-by '|'
注:sqoop只能导出数据,不能自动建表。所以在导出之前,要现在mysql数据库里建好对应的表