文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Sqoop怎么安装

2023-06-14 12:28

关注

这篇文章主要介绍了Sqoop怎么安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、Sqoop的安装

1.1 下载上传安装包

首先下载安装包,点击此处进行下载。

Sqoop怎么安装

将下载的安装包上传到集群中,解压到相关目录并重命名。

tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C ../modules/mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

Sqoop怎么安装

1.2 修改配置文件

首先重命名sqoop-env-template.sh文件

[root@master conf]# mv sqoop-env-template.sh sqoop-env.sh

在sqoop-env.sh中添加各组件的路径

export HADOOP_COMMON_HOME=/opt/modules/hadoop-2.7.2export HADOOP_MAPRED_HOME=/opt/modules/hadoop-2.7.2export HIVE_HOME=/opt/modules/hiveexport ZOOKEEPER_HOME=/opt/modules/zookeeper-3.4.10export ZOOCFGDIR=/opt/modules/zookeeper-3.4.10export HBASE_HOME=/opt/modules/hbase

1.3 拷贝JDBC驱动

拷贝MySQL的驱动包到Sqoop的lib目录下:

[root@master software]# cp ./mysql-connector-java-5.1.47.jar /opt/modules/sqoop/lib/

4 验证Sqoop是否安装成功

bin/sqoop help

Sqoop怎么安装

出现上图的内容说明安装成功。

二、Sqoop的导入导出

2.1 测试连接数据库

bin/sqoop list-databases --connect jdbc:mysql://master:3306/ --username root --password p@ssw0rd

Sqoop怎么安装

2.2 MySQL导入数据到HDFS

首先在MySQL数据库(xzw)中新建一张people表,如下所示:

create table people(id int(4) primary key not null auto_increment, name varchar(255), sex varchar(255));insert into people(name, sex) values('xzw', 'Male');insert into people(name, sex) values('fq', 'FeMale');

Sqoop怎么安装

全量导入

bin/sqoop import \--connect jdbc:mysql://master:3306/xzw \--username root \--password p@ssw0rd \--table people \--target-dir /user/sqoop/people \--delete-target-dir \--num-mappers 1 \--fields-terminated-by ","

使用如下命令查看导入的结果:

Sqoop怎么安装

查询导入

bin/sqoop import \--connect jdbc:mysql://master:3306/xzw \--username root \--password p@ssw0rd \--target-dir /user/sqoop/people \--delete-target-dir \--num-mappers 1 \--fields-terminated-by "," \--query 'select name,sex from people where id <=1 and $CONDITIONS;'

查看导入结果:

Sqoop怎么安装

这里需要注意的是,如果query后使用的是双引号,则$CONDITIONS前必须加转义符\,防止shell识别为自己的变量。如果使用的是单引号,则不需要加。

导入指定列

bin/sqoop import \--connect jdbc:mysql://master:3306/xzw \--username root \--password p@ssw0rd \--target-dir /user/sqoop/people \--delete-target-dir \--num-mappers 1 \--fields-terminated-by "," \--columns id,sex \--table people

查看结果:

Sqoop怎么安装

这里需要注意的是,columns中如果涉及到多列,用逗号分隔,分隔时不要添加空格。

使用sqoop关键字筛选查询导入数据

bin/sqoop import \--connect jdbc:mysql://master:3306/xzw \--username root \--password p@ssw0rd \--target-dir /user/sqoop/people \--delete-target-dir \--num-mappers 1 \--fields-terminated-by "," \--table people \--where "id=1"

查看结果:

Sqoop怎么安装

2.3 MySQL导入数据到Hive

bin/sqoop import \--connect jdbc:mysql://master:3306/xzw \--username root \--password p@ssw0rd \--table people \--num-mappers 1 \--hive-import \--fields-terminated-by "," \--hive-overwrite \--hive-table hive_people

Sqoop怎么安装

该过程分为两步,第一步将数据导入到HDFS,第二步将导入到HDFS的数据迁移到Hive仓库。这里需要注意的是,Hive中的表不需要提前创建,Sqoop会在导数据的过程中自动创建表。

2.4 MySQL导入数据到HBase

bin/sqoop import \--connect jdbc:mysql://master:3306/xzw \--username root \--password p@ssw0rd \--table people \--columns "id,name,sex" \--column-family "info" \--hbase-create-table \--hbase-row-key "id" \--hbase-table "hbase_people" \--num-mappers 1 \--split-by id

这里需要注意的是,需要提前将HBase表建好:

create 'hbase_people','info'

Sqoop怎么安装

2.5 HDFS导出数据到MySQL

bin/sqoop export \--connect jdbc:mysql://master:3306/xzw \--username root \--password p@ssw0rd \--table people \--num-mappers 1 \--export-dir /user/sqoop/people \--input-fields-terminated-by ","

Sqoop怎么安装

这里需要注意的是,如果MySQL中不存在表,不会自动创建,简言之就是在执行导出之前需要在MySQL中创建好表。

三、Sqoop脚本打包

我们使用opt格式的文件打包Sqoop命令,然后执行,具体如下。

首先在Sqoop的安装目录新建目录opt,并编写脚本如下:

export--connectjdbc:mysql://master:3306/xzw--usernameroot--passwordp@ssw0rd--tablepeople--num-mappers1--export-dir/user/sqoop/people--input-fields-terminated-by","

Sqoop怎么安装

然后使用如下命令执行脚本:

bin/sqoop --options-file opt/HDFSToMySQL.opt

感谢你能够认真阅读完这篇文章,希望小编分享的“Sqoop怎么安装”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯