我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux系统怎么安装sqoop

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux系统怎么安装sqoop

这篇文章的内容主要围绕Linux系统怎么安装sqoop进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

sqoop简介:

正如Sqoop的名字所示:Sqoop是一个用来将关系型数据库和Hadoop中的数据进行相互转移的工具,可以将一个关系型数据库(例如Mysql、Oracle)中的数据导入到Hadoop(例如HDFS、Hive、Hbase)中,也可以将Hadoop(例如HDFS、Hive、Hbase)中的数据导入到关系型数据库(例如Mysql、Oracle)中。如下图所示: Linux系统怎么安装sqoop 2、Sqoop架构 Sqoop架构: Linux系统怎么安装sqoop 正如上图所示:Sqoop工具接收到客户端的shell命令或者Java api命令后,通过Sqoop中的任务翻译器(Task Translator)将命令转换为对应的MapReduce任务,而后将关系型数据库和Hadoop中的数据进行相互转移,进而完成数据的拷贝。

sqoop-1.4.7安装配置流程

(1) Sqoop环境前提:

  • Hadoop

  • 关系型数据库(MySQL/Oracle)

  • HBase

  • Hive

  • ZooKeeper

(2) 解压sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz安装包到目标目录下:

  • tar -zxvf .tar.gz -C 目标目录

(3) 为后续方便,重命名Sqoop文件夹:

  • mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop-1.4.7

(4) 修改配置文件:

  • 进入sqoop-1.4.7/conf路径,重命名配置文件:

    • mv sqoop-env-template.sh sqoop-env.sh

  • 修改sqoop-env.sh信息:(若配置了环境变量,可通过

     echo $XXXXX_HOME

    查询安装位置)

    • vi sqoop-env.sh

    •  #Set path to where bin/hadoop is available export HADOOP_COMMON_HOME=Hadoop安装路径  #Set path to where hadoop-*-core.jar is available #export HADOOP_MAPRED_HOME=Hadoop安装路径  #set the path to where bin/hbase is available #export HBASE_HOME=HBase安装路径  #Set the path to where bin/hive is available #export HIVE_HOME=Hive安装路径  #Set the path for where zookeper config dir is #export ZOOCFGDIR=ZooKeeper 配置文件夹 路径 复制代码

(5) 关联Hive:

  • cp /XXX/hive/conf/hive-site.xml /XXX/sqoop-1.4.7/conf/

(5) 配置环境变量:

  • 修改配置文件:

    • vi /etc/profile

  • 增加以下内容:

    • export SQOOP_HOME=sqoop安装路径

    • export PATH=$PATH:$SQOOP_HOME/bin

  • 声明环境变量:

    • source /etc/profile

(6) 启动查看版本号

  • sqoop version

(7) 添加驱动:

  • 导入MySQL驱动到sqoop/lib下

  • 导入Oracle驱动到sqoop/lib下

3. Sqoop操作

(1) 常用参数:

  • 参数查看:Sqoop官网 -> documentation -> Sqoop User Guide

  • import 导入数据到集群

  • export 从集群导出数据

  • create-hive-table 创建hive表

  • import-all-tables 指定关系型数据库所有表到集群

  • list-databases 列出所有数据库

  • list-tables 列出所有数据库表

  • merge 合并数据

  • codegen 获取某张表数据生成JavaBean并打Jar包

(2) import——Sqoop的导入操作:

  • 功能:MySQL/Oracle –> HDFS/Hive

  • 修改MySQL访问权限:

    • update user set host='%' where host='localhost';

    • delete from user where Host='127.0.0.1';

    • delete from user where Host='bigdata01';

    • delete from user where Host='::1';

    • flush privileges;

    • use mysql;

    • select User, Host, Password from user;

    • 查看权限:

    • 修改权限为所有用户都可访问:

  • 操作命令:

    • 准备工作:

    • 导入命令:

    • 开启hive服务

    • 在hive中创建好要导入的对应表

    • FAILED: SemanticException [Error 10072]: Database does not exist: XXXXXXXX

    • 报错原因:Sqoop没有关联Hive

    • 解决方法:

    • cp /XXX/hive/conf/hive-site.xml /XXX/sqoop-1.4.7/conf/

    • ERROR tool.ImportTool: Import failed: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://bigdata01:9000/XXXXXXXXXX already exists

    • 报错原因:hdfs中存在同名路径

    • 解决方法:

    • 指定新路径或者删除hdfs中原文件

    • ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf

    • 报错原因:hive环境变量配置缺失

    • 解决方法:——Hadoop环境加入Hive依赖

    • source /etc/profile

    • export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*

    • vi /etc/profile

    • 修改配置文件:

    • 增加以下内容:

    • 声明环境变量:

    • sqoop import --connect jdbc:mysql://bigdata01:3306/数据库名 --username root --password 密码 --table 表名 --num-mappers 1 --hive-import --fields-terminated-by "\t" --hive-overwrite --hive-table hive数据库名.表名

    • 在Hive中可以看到指定表中已传入数据信息

    • 可能报错1:

    • 可能报错2:

    • 可能报错3:

    • 导出命令:

    • Linux本地查看hdfs上传结果:

    • 使用query对数据进行过滤:

    • 直接过滤字段:

    • sqoop import --connect jdbc:mysql://bigdata01:3306/数据库名 # 连接MySQL --username root # 用户名 --password XXXXXX # 密码 --table 表名 # 上传至HDFS的表 --target-dir /YYYYYYY # HDFS目标文件夹 --num-mappers 1 # 指定map运行 --fields-terminated-by "\t" # 指定分隔符

    • hdfs dfs -cat /XXXXXXX/part-m-00000

    • sqoop import --connect jdbc:mysql://bigdata01:3306/数据库名 --username root --password XXXXXX --table 表名 --target-dir /YYYYYYY --num-mappers 1 --fields-terminated-by "\t" --query 'select * from 表名 where 条件 and $CONDITIONS' # $CONDITIONS 对mapper进行索引

    • sqoop import --connect jdbc:mysql://bigdata01:3306/数据库名 --username root --password XXXXXX --table 表名 --target-dir /YYYYYYY --num-mappers 1 --columns 字段名

    • 本地mysql表上传至hdfs:

    • 本地mysql表上传至hive:

(3) emport——Sqoop的导出操作:

  • 功能:HDFS/Hive –> MySQL/Oracle

  • 操作命令:

    • 导出命令:

    • sqoop emport --connect jdbc:mysql://bigdata01:3306/数据库名 # 连接MySQL --username root # 用户名 --password XXXXXX # 密码 --table 表名 # 目标mysql表 --export-dir /user/hive/warehouse/YYYYYYY # hive文件夹 --num-mappers 1 # 指定map运行 --input-fields-terminated-by "\t" # 指定分隔符

    • hive表导出至本地mysql:

(4) 列出所有数据库:

  • 操作命令:

    • sqoop list-databases --connect jdbc:mysql://bigdata01:3306/ --username root --password 密码

(5) 获取数据库表数据生成JavaBean:

  • 操作命令:

    • sqoop codegen --connect jdbc:mysql://bigdata01:3306/数据库名 --username root --password 密码 --table 表名 -- bindir Linux本地路径 # 指定Jar包打包路径 --class-name 类名 # 指定Java类名 --fields-terminated-by "\t"

(6) 合并hdfs中不同目录下的数据:

  • 操作命令:

    • sqoop merge --new-data hdfs新表路径 --onto hdfs旧表路径 --target-dir /YYYYYYY # 合并后的hdfs路径 --jar-file = # Linux本地Jar包路径 --class-name XXXXX # Jar包的类 --merge-key id # 合并依据

  • 注意:merge操作是一个新表替代旧表的操作,如果有冲突id的话新表数据替换旧表数据,如果没有冲突则是新表数据添加到旧表的数据。

感谢你的阅读,相信你对“Linux系统怎么安装sqoop”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!

免责声明:

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

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

Linux系统怎么安装sqoop

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux系统怎么安装sqoop

这篇文章的内容主要围绕Linux系统怎么安装sqoop进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!sqoop简介:正如Sqoop的名字所示:Sqo
2023-06-28

Linux系统如何安装Sqoop

这篇文章主要为大家展示了“Linux系统如何安装Sqoop”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统如何安装Sqoop”这篇文章吧。Sqoop简介:Sqoop : SQL-to
2023-06-28

Sqoop怎么安装

这篇文章主要介绍了Sqoop怎么安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、Sqoop的安装1.1 下载上传安装包1、首先下载安装包,点击此处进行下载。2、将下载的
2023-06-14

怎么安装linux系统

本篇内容主要讲解“怎么安装linux系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么安装linux系统”吧!已经安装了windows系统,如何安装linux系统?网络上的教程不是太旧就是太
2023-06-13

Linux系统怎么安装Redis

这篇文章主要为大家展示了“Linux系统怎么安装Redis”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统怎么安装Redis”这篇文章吧。redis简介:redis是一个开源的、使用
2023-06-28

Linux系统怎么安装PHP

Linux系统怎么安装PHP,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。PHP即“超文本预处理器”主要应用与Web服务端开发,该语言的主要特性就是允许web开发人员快速编
2023-06-28

linux系统怎么安装jenkins

本文小编为大家详细介绍“linux系统怎么安装jenkins”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux系统怎么安装jenkins”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Jenkins 是一个
2023-06-28

Linux系统怎么安装httpd

今天给大家介绍一下Linux系统怎么安装httpd。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。HTTPD是Apache超文本传输协议(HTTP)服务器的主程
2023-06-28

Linux系统怎么安装nodejs

本文小编为大家详细介绍“Linux系统怎么安装nodejs”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux系统怎么安装nodejs”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Node.js是由Ryan
2023-06-28

Linux系统怎么安装MySQL

这篇文章主要介绍“Linux系统怎么安装MySQL”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux系统怎么安装MySQL”文章能帮助大家解决问题。首先通过 xshell 或者 putty 远
2023-06-28

Linux系统怎么安装pycharm

这篇文章主要讲解了“Linux系统怎么安装pycharm”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统怎么安装pycharm”吧!pycharm可以大幅提升开发效率,可以选择安
2023-06-28

Linux系统怎么安装Ubuntu

本篇内容介绍了“Linux系统怎么安装Ubuntu”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需要下载VMware14,以及ubantu1
2023-06-28

Linux系统怎么安装Nmap

这篇文章将为大家详细讲解有关Linux系统怎么安装Nmap,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、安装包:(1)可以官网下载,地址:https://nmap.org(2)也可以用网盘下载,小编用
2023-06-28

Linux系统怎么安装WinUSB

这篇文章将为大家详细讲解有关Linux系统怎么安装WinUSB,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。WinUSB简介WinUSB是一款即简单又有用的工具,可以让你从 Windows ISO 镜像或
2023-06-28

Linux系统怎么安装openssl

这篇文章跟大家分析一下“Linux系统怎么安装openssl”。内容详细易懂,对“Linux系统怎么安装openssl”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Linux系统
2023-06-28

Linux系统怎么安装postgresql

这篇文章主要介绍了Linux系统怎么安装postgresql的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux系统怎么安装postgresql文章都会有所收获,下面我们一起来看看吧。PostgreSQL是
2023-06-28

Linux系统怎么安装composer

本篇内容介绍了“Linux系统怎么安装composer”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Composer 是由 Jordi Bo
2023-06-28

Linux系统怎么安装SQLserver

这篇“Linux系统怎么安装SQLserver”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux系统怎么安装SQLse
2023-06-28

Linux系统怎么安装tcpdump

这篇文章主要介绍了Linux系统怎么安装tcpdump,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。tcpdump是一款网络数据采集分析工具,可以将网络中传送的数据包的“头”
2023-06-28

Linux系统怎么安装Skype

这篇“Linux系统怎么安装Skype”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux系统怎么安装Skype”文章吧
2023-06-28

编程热搜

目录