前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据环境搭建-Sqoop

大数据环境搭建-Sqoop

作者头像
码客说
发布2022-04-27 09:27:52
4310
发布2022-04-27 09:27:52
举报
文章被收录于专栏:码客码客

前言

全局命令

在环境变量中增加如下命令,可以使用 bd 快速切换到 /data/tools/bigdata

代码语言:javascript
复制
cd /etc/profile.d/
vi bd.sh

内容如下

代码语言:javascript
复制
alias bd='cd /data/tools/bigdata'

配置生效

代码语言:javascript
复制
source /etc/profile

Sqoop的安装

下载地址

http://archive.apache.org/dist/sqoop/1.4.7/

上传至虚拟机,并解压

代码语言:javascript
复制
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /data/tools/bigdata

环境变量

创建配置文件

代码语言:javascript
复制
vi /etc/profile.d/sqoop.sh

内容设置为

代码语言:javascript
复制
# SQOOP
export SQOOP_HOME=/data/tools/bigdata/sqoop-1.4.7.bin__hadoop-2.6.0
export PATH=$PATH:$SQOOP_HOME/bin

配置生效

代码语言:javascript
复制
source /etc/profile

查看是否生效

代码语言:javascript
复制
echo $SQOOP_HOME

查看sqoop版本

代码语言:javascript
复制
sqoop version

帮助

代码语言:javascript
复制
sqoop help

连接MySQL

拷贝JDBC驱动

上传jdbc驱动到/opt/software目录中。

进入存放jdbc驱动的目录下,拷贝jdbc驱动到sqoop的lib目录下

代码语言:javascript
复制
cp /root/mysql-connector-java-5.1.40.jar $SQOOP_HOME/lib/

测试Sqoop连接数据库

进入sqoop安装目录,执行

代码语言:javascript
复制
sqoop list-databases --connect jdbc:mysql://master:3306/ --username root --password psvmc123

配置

Sqoop的配置文件与大多数大数据框架类似,在sqoop根目录下的conf目录中。

进入sqoop下面的conf

命令:

代码语言:javascript
复制
cd $SQOOP_HOME/conf

重命名配置文件sqoop-env-template.sh

代码语言:javascript
复制
mv sqoop-env-template.sh sqoop-env.sh

修改配置文件 sqoop-env.sh

命令:

代码语言:javascript
复制
vi sqoop-env.sh

修改一下内容:

代码语言:javascript
复制
export HADOOP_COMMON_HOME=/data/tools/bigdata/hadoop-2.7.7
export HADOOP_MAPRED_HOME=/data/tools/bigdata/hadoop-2.7.7
export HIVE_HOME=/data/tools/bigdata/apache-hive-2.3.9-bin
# export ZOOKEEPER_HOME=/data/tools/bigdata/zookeeper
# export ZOOCFGDIR=/data/tools/bigdata/zookeeper

先不使用Zookeeper

hive数据导出到MySQL

hive中建表

准备数据,数据格式要和表结构相对应

代码语言:javascript
复制
vi /root/student.txt

在student.txt文件中加入以内容:

代码语言:javascript
复制
19308001,zhangsan,20,111111,222222
19308002,lisi,21,333333,444444
19308003,wangwu,20,555555,666666
19308004,liliu,20,777777,888888
19308005,zhangfei,21,999999,111111

注:以什么为分隔符,就用什么符号,这里使用的是逗号为分隔符

启动Hive

代码语言:javascript
复制
cd /data/tools/bigdata/apache-hive-2.3.9-bin
./bin/hive

查询表

代码语言:javascript
复制
show tables;

先在hive中创建表,数据类型和MySQL中的数据类型相对应

代码语言:javascript
复制
create table student
(id varchar(50),name varchar(50),age int,school varchar(50),class varchar(50)) 
row format delimited fields terminated by ',';

将txt文件数据导入到hive中

代码语言:javascript
复制
load data local inpath '/root/student.txt' into table student;

(4)查看表中数据

代码语言:javascript
复制
select * from student;

如图所示:

image-20220426114329479
image-20220426114329479

MySQL中建表

登录MySQL

代码语言:javascript
复制
mysql -uroot -p

创建一个数据库

代码语言:javascript
复制
create database hive;

使用hive数据库

代码语言:javascript
复制
use hive;

数据库中创建表

代码语言:javascript
复制
create table student (id varchar(50),name varchar(50),age int,school varchar(50),class varchar(50));

添加一条数据

代码语言:javascript
复制
insert into student values('19308009','wangmazi','22','666666','777777');

hive=>MySQL

运行

代码语言:javascript
复制
sh $HADOOP_HOME/sbin/start-all.sh

输入

代码语言:javascript
复制
jps

停止

代码语言:javascript
复制
sh $HADOOP_HOME/sbin/stop-all.sh

sqoop将hive中的数据传输到MySQL中

执行命令

代码语言:javascript
复制
sqoop export --connect jdbc:mysql://master:3306/hive --username root --password psvmc123 --table student --num-mappers 1 --export-dir /user/hive/warehouse/student --input-fields-terminated-by ','

说明

说明

master:3306/hive

hive是指MySQL中的数据库

–export-dir /user/hive/warehouse/student

导出数据的目录

–input-fields-terminated-by ‘,’

导出数据时,使用什么分隔符分割字段

–table student

导出到 MySQL 的哪张表

hive创建的表在hdfs上面的位置为:/user/hive/warehouse/student

成功后进入MySQL数据库中查询数据

登录MySQL

代码语言:javascript
复制
mysql -uroot -p

使用hive数据库

代码语言:javascript
复制
use hive;

查看数据

代码语言:javascript
复制
select * from student;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 全局命令
  • Sqoop的安装
  • 连接MySQL
    • 拷贝JDBC驱动
      • 测试Sqoop连接数据库
      • 配置
      • hive数据导出到MySQL
        • hive中建表
          • MySQL中建表
            • hive=>MySQL
            相关产品与服务
            云数据库 SQL Server
            腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档