3

Sqoop--安装配置

 1 year ago
source link: https://blog.51cto.com/u_15130867/6002894
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Sqoop--安装配置

精选 原创

執孒の掱,與 2023-01-12 00:15:33 博主文章分类:大数据 ©著作权

文章标签 sqoop mysql bc 文章分类 其它 大数据 yyds干货盘点 阅读数202

CentOS 7.3

sqoop-1.4.4

hive-2.2.0

二,安装与配置

1.准备sqoop安装包,官网地址:http://sqoop.apache.org

2.配置jdk环境变量和Hadoop的环境变量。因为sqoop在使用是会去找环境变量对应的路径,从而完整工作。

Sqoop--安装配置_bc

3.sqoop解压即可使用(前提是环境变量都配好了)

4.需要将要连接的数据库的驱动包加入sqoop的lib目录下(本例中用的是mysql数据库)

5.利用指令操作sqoop  

1,查询所有库

[root@hadoop2 bin]# sh sqoop list-databases -connect jdbc:mysql://192.168.0.112:3306/ -username root -password root

2,查询当前库下所有表

[root@hadoop2 bin]# sh sqoop list-tables --connect jdbc:mysql://192.168.0.112:3306/hive -username root -password root

3,连接当前库并导出表到指定路径

[root@hadoop2 bin]# sh sqoop import --connect jdbc:mysql://192.1680.112:3306/test -username root -password root --table tabx --target-dir '/sqoop/tabx' --fields-terminated-by '|' -m 1;

查看mysql所有数据库

sh sqoop list-databases --connect  jdbc:mysql://192.168.150.138:3306/ -username root -password root

查看指定数据库下的所有表

sh sqoop list-tables --connect jdbc:mysql://hadoop02:3306/hive -username root -password root

关系型数据库==>hdfs

sh sqoop import -help(查看import的帮助指令)

实现步骤:

1.现在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');

2.进入到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;

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数据库里建好对应的表


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK