首页 > 其他分享 >五、Sqoop平台安装

五、Sqoop平台安装

时间:2023-05-18 09:46:22浏览次数:50  
标签:Sqoop -- 平台 sqoop hive sample student mysql 安装

实验任务一:下载和解压 Sqoop

解压sqoop:

tar -zxvf sqoop-1.4.7.bin__had.gz

重命名:

mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop
实验任务二:配置 Sqoop 环境

切换目录:

cd /usr/local/src/sqoop/conf

复制 sqoop-env-template.sh 模板:

cp sqoop-env-template.sh sqoop-env.sh

编辑文件,添加 Hdoop、Hbase、Hive、zookeeper组件的安装路径:

vi sqoop-env.sh
export HADOOP_COMMON_HOME=/usr/local/src/hadoop-2.7.6
export HADOOP_MAPRED_HOME=/usr/local/src/hadoop-2.7.6
export HBASE_HOME=/usr/local/src/hbase-1.2.1
export HIVE_HOME=/usr/local/src/hive
export ZOOCFGDIR=/usr/local/src/zookeeper-3.4.5

配置环境变量:

vi /etc/profile
export SQOOP_HOME=/usr/local/src/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib

刷新环境变量:

source /etc/profile

架包:

cp mysql-connector-java-5.1.46.jar /usr/local/src/hive/lib/
实验任务三:启动 Sqoop

启动 Hadoop 集群:

start-all.sh

测试 Sqoop 是否能够正常连接 MySQL 数据库:

sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P

密码:

Password123$

将hive架包到Sqoop的lib目录中:

cp /usr/local/src/hive/lib/hive-common-2.0.0.jar /usr/local/src/sqoop/lib/
实验任务四:Sqoop 模板命令

登录MySQL数据库:

mysql -uroot -pPassword123$

创建sample库:

create database sample;

使用 sample库:

use sample;

创建 student表:

create table student(number char(9) primary key, name varchar(10));

向student表插入几条数据:

insert into student values('01','zhangsan'), ('02','lisi'), ('03','wangwu');

查询student表的数据:

mysql> select * from student;

退出:

exit

登录hive:

hive

创建sample库:

create database sample;

查询所有数据库:

show databases;

使用sample库

use sample;

退出hive命令行

exit;

从MySQL导出数据,导入 Hive:

sqoop import --connect jdbc:mysql://master:3306/sample --username root --password Password123$ --table student --fields-terminated-by '|' --delete-target-dir --num-mappers 1 --hive-import --hive-database sample --hive-table student

删除 MySQL 数据,student表中number 为主键,添加信息导致主键重复,报错,所以删除表数据

登录:

mysql -u root -pPassword123$

使用数据库:

use sample;

删除表:

delete from student;

退出:

exit;

从Hive导出数据,导入到MySQL:

sqoop export --connect "jdbc:mysql://master:3306/sample?useUnicode=true&characterEncoding=utf-8" --username root --password Password123$ --table student --input-fields-terminated-by '|' --export-dir /user/hive/warehouse/sample.db/student/*
实验任务五:Sqoop 组件应用
Sqoop 常用设置命令如下:
(1)列出 MySQL 数据库中的所有数据库:
sqoop list-databases -connect jdbc:mysql://localhost:3306/ -username root -password Password123$
(2)连接 MySQL 并列出 sample 数据库中的表:
sqoop list-tables -connect jdbc:mysql://localhost:3306/sample -username root -password Password123$
(3)将关系型数据的表结构复制到 hive 中,只是复制表的结构,表中的内容没有复制过去:
sqoop create-hive-table -connect jdbc:mysql://localhost:3306/sample -table student -username root -password Password123$ -hive-table test
(4)从关系数据库导入文件到 Hive 中:
sqoop import --connect jdbc:mysql://master:3306/sample --username root --password Password123$ --table student --delete-target-dir --num-mappers 1 --hive-import --hive-database default --hive-table test
(5)将 Hive 中的表数据导入到 MySQL 中,在进行导入之前,MySQL 中的表 hive_test表必须已经提前创建好:
mysql -u root -pPassword123$
mysql>use sample;
mysql>delete from student;
mysql>exit;
sqoop export -connect jdbc:mysql://master:3306/sample --username root -password Password123$ -table student --input-fields-terminated-by '\001' -export-dir /user/hive/warehouse/test
(6)从数据库导出表的数据到 HDFS 上文件:
sqoop import -connect jdbc:mysql://master:3306/sample --username root -password Password123$ -table student --num-mappers 1 -target-dir /user/test
(7)从数据库增量导入表数据到 HDFS 中:
登录:
mysql -uroot -pPassword123$
mysql>use sample;
mysql>insert into student values('04','sss'),('05','ss2'),('06','ss3');

非数值型的值不能当做增量

mysql>alter table student modify column number int;
mysql>exit;
sqoop import -connect jdbc:mysql://master:3306/sample --username root -password Password123$ -table student --num-mappers 1 -target-dir /user/test -check-column number -incremental append -last-value 0

查看导入数据:

hdfs dfs -cat /user/test/part-m-00000

标签:Sqoop,--,平台,sqoop,hive,sample,student,mysql,安装
From: https://www.cnblogs.com/-liunian/p/17410966.html

相关文章

  • 四、HBase平台安装
    解压:tar-zxvfhbase-1.2.1-bin.tar.gz配置文件(/usr/local/src/hbase-1.2.1/conf路径下):vihbase-env.shexportJAVA_HOME=/usr/local/src/jdk1.8.0_181/(27)配置文件:vihbase-site.xmlhbase.rootdir/usr/local/src/hbase-1.2.1/HBASEhbase.cluster.distributedtrue......
  • 六、Flume 组件安装配置
    解压:tar-zxvfapache-flume-1.7.0-bin.tar.gz重命名:mvapache-flume-1.7.0-bin/flume配置环境变量:vi/etc/profileexportFLUME_HOME=/usr/local/src/flumeexportPATH=$PATH:$FLUME_HOME/bin刷新环境变量:source/etc/profile切换目录:cd/usr/local/src/flume/conf......
  • Redis 在windows 下安装使用
    管理界面: Release2022.5·lework/RedisDesktopManager-Windows(github.com)redis服务:发布·特波拉多夫斯基/雷迪斯(github.com)验证redis服务是否安装完成,和配置密码redis-cliconfigsetrequirepass密码auth密码 ......
  • centos7 中安装 busco
     001、系统[root@PC1software]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core) 002、python版本[root@PC1software]#python3--versionPython3.11.3 003、gcc版本[root@PC1software]#gcc--versiongcc(GCC)4.8.520150623(RedHat......
  • docker 安装nginx 主机可以访问,但是外网访问不了--set:nu
    在外网确实访问不了:第一步:查看端口是否打开ss  -auput|grep":80"第二:查看防火墙是否打开firewall -cmd --state第三:是否缺少内核的转发vim/etc/sysctl.conf添加 net.ipv4.ip_forward=1查看配置是否生效 ......
  • CentOS7.7安装docker
    1.背景想自己部署一套halo,发现需要docker环境,而且docker现在已经用处广泛,所以在CentOS服务器上安装docker2.步骤#Uninstalloldversionssudoyumremovedocker\docker-client\docker-client-latest\docker-co......
  • 龙芯云平台python开发避坑指北
    龙芯云平台python开发配置避坑指北背景:网络尖峰训练营龙芯平台开发,准备使用python实现,在拿到云服务器第一时间就准备去配环境,踩了很多坑,在此记录一下。平台下python包不全部分pypi中的python包尚不支持Loongarch架构,loongson平台python包存在一些缺失比如我们此次准备用来开发......
  • java基于springboot+vue的篮球竞赛预约平台、比赛预约管理系统,附源码+数据库+lw文档+P
    1、项目介绍根据篮球竞赛预约平台的功能需求,进行系统设计。前台功能:用户进入系统可以实现首页,竞赛项目,平台公告,个人中心,后台管理等功能进行操作;后台由管理员和用户,主要功能包括首页,个人中心,用户管理,项目分类管理,竞赛项目管理,赛事预约管理,系统管理等功能;系统对这些功能进行整合......
  • 解决Net Framework2.0无法安装
    无需更新widows,听说你不能更新?什么?你也不行?一、那先试试这个可以么?感觉不太行,此处省略~二、不可以就用这个验证系统盘下是否存在文件夹C:\Windows\winsxs以管理员运行CMDdism.exe/online/enable-feature/featurename:NetFX3/Source:C:\Windows\winsxsOK......
  • es笔记四之中文分词插件安装与使用
    本文首发于公众号:Hunter后端原文链接:es笔记四之中文分词插件安装与使用前面我们介绍的操作及演示都是基于英语单词的分词,但我们大部分使用的肯定都是中文,所以如果需要使用分词的操作肯定也是需要使用中分分词。这里我们介绍一下如何安装中文分词插件。在介绍安装之前,我们可以......