书签 分享 收藏 举报 版权申诉 / 20
上传文档赚钱

类型大数据技术与应用基础项目教程课件Sqoop数据迁移.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:4092523
  • 上传时间:2022-11-10
  • 格式:PPTX
  • 页数:20
  • 大小:387.98KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《大数据技术与应用基础项目教程课件Sqoop数据迁移.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据 技术 应用 基础 项目 教程 课件 Sqoop 迁移
    资源描述:

    1、主 编:李俊杰 谢志明副主编:肖政宏 石 慧 谢高辉 杨泽强出版社:人民邮电出版社*任务1 Sqoop安装及MySQL与HDFS数据迁移*任务2 MySQL与Hive/HBase数据转移【任务概述】【任务概述】本任务需要完成Sqoop的安装,使用Sqoop Import和Sqoop Export完成MySQL和HDFS之间数据的转移,并检查其结果。【支撑知识支撑知识】一、Sqoop简介二、Sqoop的基本命令【任务实施任务实施】一、客户端主机安装Sqoop软件二、安装MySQL-Client软件包三、MySQL与HDFS数据迁移一、Sqoop简介Sqoop是一个用来将Hadoop和关系型数据库

    2、中的数据相互转移的工具,可以将一个关系型数据库(如:MySQL,Oracle,Postgres等)中的数据导入到HDFS中,也可以将HDFS的数据导出到关系型数据库中。二、Sqoop的基本命令Sqoop提供一系列命令,包括导入操作(import)、导出操作(export)、导入所有表(import-all-tables)、列出所有数据库实例(list-databases)和列出数据库实例中所有表(list-tables)等。下面列举一些Sqoop常用命令:(1)列出MySQL的所有数据库sqoop list-databases-connect jdbc:mysql:/IP:3306/-user

    3、name 用户-password 密码(2)连接MySQL并列出数据库中的表sqoop list-tables-connect jdbc:mysql:/IP:3306/数据库-username 用户-password 密码(3)MySQL的表数据导入到HDFSsqoop import-connect jdbc:mysql:/IP:3306/数据库-username 用户-password 密码-table 表-num-mappers Map任务数-target-dir HDFS存放位置参数说明:-num-mappers或-m选项指定Map任务个数,-target-dir选项指定HDFS存放位置

    4、。(4)HDFS导出到MySQL表中sqoop exprot-connect jdbc:mysql:/IP:3306/数据库-username 用户-password 密码-table 表-num-mappers Map任务数-export-dir HDFS存放位置(5)将MySQL的表结构复制到Hive中sqoop create-Hive-table-connect jdbc:mysql:/IP:3306/-username 用户-password 密码-table 表-hive-table hive表-fields-terminated-by 0001 -lines-terminated-

    5、by n参数说明:-fields-terminated-by 0001是设置每列之间的分隔符,0001是ASCII码中的1,它也是hive的默认行内分隔符,而sqoop的默认行内分隔符为,,-lines-terminated-by n 设置的是每行之间的分隔符,此处为换行符,也是默认的分隔符。(6)将数据从MySQL导入文件到Hive表中sqoop import-connect jdbc:mysql:/IP:3306/-username 用户-password 密码-table 表-hive-import-hive-table hive表-num-mappers Map任务数-fields-t

    6、erminated-by 0001;参数说明:-fields-terminated-by 0001 需同创建hive表时保持一致。(7)将Hive中的表数据导入到MySQL表中sqoop export-connect jdbc:mysql:/IP:3306/数据库-username 用户-password 密码-table 表-export-dir HDFS文件-input-fields-terminated-by 0001(8)使用-query语句将数据从MySQL导入文件到Hive表中sqoop import-append-connect jdbc:mysql:/IP:3306/数据库-u

    7、sername 用户-password 密码-query select from -num-mappers Map任务数-target-dir HDFS存放位置-fields-terminated-by,(9)使用-columns-where 语句将数据从MySQL导入到Hive表中sqoop import-append-connect jdbc:mysql:/IP:3306/数据库-username-用户-password 密码-table 表-columns 列名 -where 条件-num-mappers Map任务数 -target-dir HDFS存放位置-fields-termin

    8、ated-by,【任务实施】【任务实施】n一、客户端主机安装Sqoop软件(1)下载Sqoop软件包到/home/hadoop目录下,网址如下:https:/ tar xvzf/home/hadoop/sqoop-1.4.6.bin_hadoop-2.0.4-alpha.tar.gzhadoop.$sudo chown-R hadoop:hadoop sqoop-1.4.6.bin_hadoop-2.0.4-alpha【任务实施】【任务实施】(3)修改Sqoop配置参数hadoop.$cd/opt/sqoop-1.4.6.bin_hadoop-2.0.4-alpha/confhadoop.$v

    9、i sqoop-env.sh添加如下内容:export HADOOP_COMMON_HOME=/opt/hadoop-2.7.3export HADOOP_MAPRED_HOME=/opt/hadoop-2.7.3export HBASE_HOME=/opt/hbase-1.2.4export HIVE_HOME=/opt/apache-hive-2.1.1-binexport HCAT_HOME=/opt/apache-hive-2.1.1-bin/hcatalogexport ZOOCFGDIR=/opt/zookeeper-3.4.9【任务实施】【任务实施】(4)修改环境变量hadoop

    10、.$vi/home/hadoop/.profile添加如下内容:export SQOOP_HOME=/opt/sqoop-1.4.6.bin_hadoop-2.0.4-alphaexport PATH=$PATH:$SQOOP_HOME/bin(5)环境变量生效hadoop.$source/home/hadoop/.profile6、复制mysql-connector-java-5.1.40.jarhadoop.$cp/home/hadoop/mysql-connector-java-5.1.40.jar /opt/sqoop-1.4.6.bin_hadoop-2.0.4-alpha/lib【

    11、任务实施】【任务实施】n二、安装MySQL-Client软件包(1)在客户端主机安装MySQL-Clienthadoopsw-desktop:$sudo apt-get install mysql-client(2)MySQL用户授权hadoopmaster:$mysql-uroot-p123456mysql GRANT ALL PRIVILEGES ON*.*TO sqoop%IDENTIFIED BY 123456;mysql GRANT ALL PRIVILEGES ON*.*TO sqooplocalhost IDENTIFIED BY 123456;(3)创建数据hadoopsw-d

    12、esktop:$mysql-hmaster-usqoop-p123456mysql create database sqoop;mysql use sqoop;mysql create table dept(id int,name varchar(20),primary key(id);mysql insert into dept values(610213,云计算技术与应用);mysql insert into dept values(610215,大数据技术与应用);mysql insert into dept values(590108,软件技术);【任务实施】【任务实施】n三、MySQ

    13、L与HDFS数据迁移(1)查看MySQL数据库hadoopsw-desktop:$sqoop list-databases-connect jdbc:mysql:/master:3306/-username sqoop-password 123456(2)查看MySQL表hadoopsw-desktop:$sqoop list-tables-connect jdbc:mysql:/master:3306/sqoop -username sqoop-password 123456(3)MySQL表导入到HDFShadoopsw-desktop:$sqoop import-connect jdbc

    14、:mysql:/master:3306/sqoop -username sqoop-password 123456-table dept-m 1-target-dir/user/dept(4)查看HDFShadoopsw-desktop:$hdfs dfs-ls/user/depthadoopsw-desktop:$hdfs dfs-cat/user/dept/part-m-00000【任务实施】【任务实施】(5)清空MySQL的dept表mysql use sqoop;mysql truncate dept;(6)数据从HDFS导出到MySQL表hadoopsw-desktop:$sqoop

    15、 export-connect jdbc:mysql:/master:3306/sqoop -username sqoop-password 123456-table dept-m 1-export-dir/user/dept(7)查询dept表mysql select*from dept;(8)Sqoop Import增量导入到HDFS上mysql insert into dept values(590101,计算机应用技术);hadoopsw-desktop:$sqoop import-connect jdbc:mysql:/master:3306/sqoop -username sqoo

    16、p-password 123456-table dept-m 1-target-dir/user/dept-incremental append-check-column idhadoopsw-desktop:$hdfs dfs-ls/user/depthadoopsw-desktop:$hdfs dfs-cat/user/dept/part-m-00001【任务概述】【任务概述】Hive和HBase运行在Hadoop非常重要的组件,Hive是数据仓库,HBase是分布式数据库,本任务主要完成MySQL和Hive之间以及MySQl和HBase之间数据转移。【任务实施任务实施】一、MySQL与H

    17、ive之间数据转移二、MySQL与HBase之间数据转移任务实施任务实施一、MySQL与Hive之间数据转移(1)MySQL的dept表导入Hivehadoopsw-desktop:$sqoop import-connect jdbc:mysql:/master:3306/sqoop -username sqoop-password 123456-table dept-m 1-hive-import 参数说明:-hive-import指定导入Hive,-hive-table指定Hive表名,-hive-overwrite可以覆盖原Hive表,-create-hive-table可以将原来MyS

    18、QL表结构复制到Hive表中。(2)查看Hive表数据hive show tables;hive select*from dept;任务实施任务实施(3)清空MySQL的dept表mysql use sqoop;mysql truncate dept;(4)Hive表数据导出到MySQLhadoopsw-desktop:$sqoop export-connect jdbc:mysql:/master:3306/sqoop -username sqoop-password 123456-table dept-m 1-export-dir/hive/warehouse/dept-input-fie

    19、lds-terminated-by 0001 任务实施任务实施(5)查询dept表mysql select*from dept;任务实施任务实施二、MySQL与HBase之间数据转移(1)创建HBase表hbase(main):001:0 create hbase_dept,col_family(2)MySQL的dept表导入Hbasehadoopsw-desktop:$sqoop import-connect jdbc:mysql:/master:3306/sqoop -username sqoop-password 123456-table dept-hbase-create-table-hbase-table hbase_dept-column-family col_family-hbase-row-key id(3)查看HBase的dept记录hbase(main):003:0 scan hbase_dept任务实施任务实施查看HBase的dept记录注:由于HBase编码问题,汉字无法直接显示,汉字为解码结果。【同步训练】【同步训练】p一、简答题(1)Sqoop是什么?(2)Sqoop支持的功能有哪些?p二、操作题(1)安装MySQL客户端。(2)安装Sqoop工具。(3)创建MySQL表并输入数据,使用Sqoop工具把该数据导入到HDFS。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:大数据技术与应用基础项目教程课件Sqoop数据迁移.pptx
    链接地址:https://www.163wenku.com/p-4092523.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库