【头歌】Sqoop数据导出 - 详解

这篇具有很好参考价值的文章主要介绍了【头歌】Sqoop数据导出 - 详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【提示】点击每一关参考答案可以快速复制。

目录

第1关:Sqoop数据导出语法学习

任务描述

相关知识

编程要求

测试说明

参考答案

第2关:HDFS数据导出至Mysql内

任务描述

相关知识

编程要求

测试说明

参考答案

第3关:Hive数据导出至MySQL中

任务描述

相关知识

编程要求

测试说明

参考答案


第1关:Sqoop数据导出语法学习

任务描述

本关任务:学习Sqoop 导出( export )的基本语法并配置好环境。

相关知识

为了完成本关任务,你需要掌握: 1、Sqoop 导出( export )的基本参数。 2、配置环境。

Sqoop 导出( export )的基本参数。

Sqoop 能够让 Hadoop 上的 HDFS 和 Hive 跟关系型数据库之间进行数据导入与导出,多亏了importexport这两个工具。本实训主要是针对export(导出)来讲。 数据在Hadoop平台上进行处理后,我们可能需要将结果同步到关系数据库中作为业务的辅助数据,这时候需要将Hadoop平台分析后的数据导出(export)到关系数据库。 我们要学 Sqoop 的导出也必须先知道里面的基本语法。 输入sqoop help export可以查看里面参数含义,导出和导入基本参数都差不多,接下来选取几个常见的参数来分析:

选项 含义说明
--connect <jdbc-uri> 指定JDBC连接字符串
--driver <class-name> 指定要使用的JDBC驱动程序类
--hadoop-mapred-home <dir> 指定$HADOOP_MAPRED_HOME路径
-P 从控制台读取输入的密码
--username <username> 设置认证用户名
--password <password> 设置认证密码
--verbose 打印详细的运行信息
--columns <col,col,col…> 要导出到表格的列
--direct 使用直接导入模式(优化导入速度
--export-dir <dir> 用于导出的HDFS源路径
--num-mappers <n>(简写:-m) 使用n个mapper任务并行导出
--table <table-name> 要填充的表
--staging-table <staging-table-name> 数据在插入目标表之前将在其中展开的表格。
--clear-staging-table 表示可以删除登台表中的任何数据
--batch 使用批量模式导出
--fields-terminated-by <char> 设置字段分隔符
--lines-terminated-by <char> 设置行尾字符
--optionally-enclosed-by <char> 设置字段包含字符

配置环境

注意:如果这个环境不配置的话,可能会造成后续关卡不能正常实现。 1、启动Hadoop。

start-all.sh

头歌第一关sqoop数据导出语法学习,头歌 - Sqoop 数据迁移,mysql,数据库,linux,sqoop,hive

2、Hive连接 MySQL 初始化。

schematool -dbType mysql -initSchema

头歌第一关sqoop数据导出语法学习,头歌 - Sqoop 数据迁移,mysql,数据库,linux,sqoop,hive

编程要求

在右侧命令行进行操作: 1.启动Hadoop服务; 2.Hive 连接 MySQL 初始化。

测试说明

完成操作后点击评测,通关后测试集输出:

Hadoop平台已开启
default

参考答案

#命令行


#启动Hadoop
start-all.sh
#Hive连接 MySQL 初始化
schematool -dbType mysql -initSchema

第2关:HDFS数据导出至Mysql内

任务描述

本关任务:利用 Sqoop 工具将 HDFS 中的数据导出至 MySQL 中来。

相关知识

为了完成本关任务,你需要掌握: 1、数据库( MySQL )建表。 2、HDFS 数据导出至 MySQL 中。

数据库( MySQL )建表

因为这边 Sqoop 不能够帮关系型数据库创建表,所以需要我们自己来创建表。 用命令进入 MySQL 客户端。

mysql -uroot -p123123 -h127.0.0.1

头歌第一关sqoop数据导出语法学习,头歌 - Sqoop 数据迁移,mysql,数据库,linux,sqoop,hive

创建数据库hdfsdb(格式默认为utf8),并在数据库内建立表fruit,其表结构如下:

状态
fru_no int 主键
fru_name varchar(20)
fru_price int
fru_address varchar(20)

HDFS 数据导出至 MySQL 中

将数据放入 HDFS 上 输入vi text.txt,内容如下:

01,apple,6,changsha
02,banana,4,shanghai
03,orange,2,guangzhou

将文件上传HDFS

hadoop fs -put text.txt /user

HDFS 数据导出至 MySQL中 。

sqoop export --connect jdbc:mysql://127.0.0.1:3306/hdfsdb --username root --password 123123 --table fruit --export-dir /user/text.txt -m 1

查看 Mysql 中的表,发现数据已经传输过去了。

头歌第一关sqoop数据导出语法学习,头歌 - Sqoop 数据迁移,mysql,数据库,linux,sqoop,hive

编程要求

根据上述,成功用 Sqoop 将 HDFS 上的数据导出 MySQL 成功。

测试说明

点击测评,当你的结果与预期输出一致时,即为通过。

HDFS存在text.txt文件
传输成功!

参考答案

#命令行


#进入MySQL
mysql -uroot -p123123 -h127.0.0.1
#以下为MySQL


#创建数据库hdfsdb
create database `hdfsdb`;

#切换数据库hdfsdb
use `hdfsdb`;

#创建数据表fruit
create table `fruit`(
    fru_no int primary key,
    fru_name varchar(20),
    fru_price int,
    fru_address varchar(20)
);

quit;
#命令行


#编辑text文本文件
vi text.txt
#以下为在vi编辑器中需要输入的内容。
#使用提示:【i】键进入插入模式,鼠标滚轮可以快速上下滑动光标,执行对应插入操作,最后【Esc】键退出vi插入模式,输入“:wq”保存并退出vi编辑器。
#使用提示:PageUp(PgUp)、PageDown(PgDn)键快速定位光标到文件开始位置和结束位置,Home、End键快速定位光标到当前行的行首和行末。


01,apple,6,changsha
02,banana,4,shanghai
03,orange,2,guangzhou
#命令行


#将文件上传HDFS
hadoop fs -put text.txt /user

#HDFS 数据导出至 MySQL中
sqoop export --connect jdbc:mysql://127.0.0.1:3306/hdfsdb --username root --password 123123 --table  fruit --export-dir /user/text.txt -m 1

#查看MySQL数据
mysql -uroot -p123123 -h127.0.0.1
#以下为MySQL


#查看 Mysql 中的表,发现数据已经传输过去了
use hdfsdb;
select * from `fruit`;

quit;

第3关:Hive数据导出至MySQL中

任务描述

本关任务:利用 Sqoop 工具将 Hive 中的数据导出至 MySQL 中。

相关知识

为了完成本关任务,你需要掌握:Hive 数据导出至 MySQL 中。

Hive 数据导入 MySQL 中

MySQL建表

因为之前已经创建过数据库了,我们直接使用之前的数据库hdfsdb,在数据库中建表project,表结构如下:

状态
pro_no int 主键,序号
pro_name varchar(20) 课程名
pro_teacher varchar(20) 课程老师
# 首先进入MySQL
mysql -uroot -p123123 -h127.0.0.1
# 进入MySQL后使用数据库 hdfsdb
use hdfsdb;
# 创建表 project
create table project(pro_no int,pro_name varchar(20),pro_teacher varchar(20), primary key (pro_no));

Hive中建表添加数据

新建并编辑文本project.txt,添加以下内容:

01,bigdata,wang
02,javaweb,yang
03,python,xiang

输入pwd,获取当前路径。

进入Hive,在Hive内创建表project

create table project (pro_no int,pro_name string, pro_teacher string) row format delimited fields terminated by ',' stored as textfile;

在表中插入刚刚创建的数据,位置为刚刚路径下的project.txt

load data local inpath './project.txt' into table project;

头歌第一关sqoop数据导出语法学习,头歌 - Sqoop 数据迁移,mysql,数据库,linux,sqoop,hive

查看是否添加成功。

Hive 数据导出至 MySQL。

sqoop export --connect jdbc:mysql://127.0.0.1:3306/hdfsdb --username root --password 123123 --table project --export-dir /opt/hive/warehouse/project -m 1 --input-fields-terminated-by ','

我们查看 MySQL 中,发现数据已经传输过去了。

头歌第一关sqoop数据导出语法学习,头歌 - Sqoop 数据迁移,mysql,数据库,linux,sqoop,hive

编程要求

根据上述,将Hive表中数据导出到mysql中。

测试说明

点击测评,当你的结果与预期输出一致时,即为通过。

hive建表成功
传输成功!

参考答案

#命令行


#进入mysql
mysql -uroot -p123123 -h127.0.0.1
#以下为MySQL


#切换数据库
use hdfsdb;
#创建表 project
create table project(pro_no int,pro_name varchar(20),pro_teacher varchar(20), primary key (pro_no));

quit;
#命令行


#新建并编辑文本project.txt
vi project.txt
#以下为在vi编辑器中需要输入的内容。
#使用提示:【i】键进入插入模式,鼠标滚轮可以快速上下滑动光标,执行对应插入操作,最后【Esc】键退出vi插入模式,输入“:wq”保存并退出vi编辑器。
#使用提示:PageUp(PgUp)、PageDown(PgDn)键快速定位光标到文件开始位置和结束位置,Home、End键快速定位光标到当前行的行首和行末。


01,bigdata,wang
02,javaweb,yang
03,python,xiang
#命令行


#输入pwd,获取当前路径
pwd

#进入Hive,在Hive内创建表project
hive
--以下为Hive


--创建表project
create table project (pro_no int,pro_name string, pro_teacher string) row format delimited fields terminated by ',' stored as textfile;

--在表中插入刚刚创建的数据,位置为刚刚路径下的project.txt
load data local inpath './project.txt' into table project;

--查看是否添加成功
select * from project;

quit;
#命令行


#Hive 数据导出至 MySQL
sqoop export --connect jdbc:mysql://127.0.0.1:3306/hdfsdb --username root --password 123123 --table  project --export-dir /opt/hive/warehouse/project -m 1 --input-fields-terminated-by ','

至此,所有内容都完成辣。如果存在任何问题欢迎大佬指教🥰!文章来源地址https://www.toymoban.com/news/detail-764529.html

到了这里,关于【头歌】Sqoop数据导出 - 详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Sqoop(二):Hive导出数据到Oracle

    把Hive中的数据导入Oracle数据库。 1. 解释一下各行代码: 2. 案例: 3. 表多的话,把所有表名存放在文件下,循环跑批每个表 参考: https://codeleading.com/article/51121246034/#google_vignette

    2024年02月10日
    浏览(43)
  • 使用sqoop从Hive导出数据到MySQL

    1、启动hadoop:start-all.sh。 2、启动mysql:support-files/mysql.server start。 3、启动hive:hive。 4、在hive中创建表。 (学生信息:学号xh,姓名xm)xsxx: create table bigdata03.xsxx ( xh String, xm String ) row format delimited fields terminated by \\\',\\\'stored as textfile; (课程信息:课程号kch,学号xh,课程名称

    2024年02月11日
    浏览(53)
  • 使用Sqoop将Hive数据导出到TiDB

    关系型数据库与大数据平台之间的数据传输之前写过一些 使用Sqoop将数据在HDFS与MySQL互导 使用Sqoop将SQL Server视图中数据导入Hive 使用DataX将Hive与MySQL中的表互导 使用Sqoop将Hive数据导出到TiDB虽然没写过,但网上一堆写的,那为什么我要专门写一下呢? 我发现一些大家可能会忽

    2024年01月23日
    浏览(47)
  • Sqoop将hive处理的数据导出到MySQL

    目录 部署前提 一、创建数据上传到hive中 创建学生表数据:vim stu.txt 创建课程表数据:vim course.txt 在hive中创建学生表和课程表: 上传数据到hdfs上的hive中: 二、处理hive中的数据 查询学生姓名和课程信息,创建结果表stu_result: 插入数据: 三、在mysql中创建结果表 四、将hive中处

    2024年02月03日
    浏览(45)
  • 使用Sqoop将数据从Hadoop导出到关系型数据库

    当将数据从Hadoop导出到关系型数据库时,Apache Sqoop是一个非常有用的工具。Sqoop可以轻松地将大数据存储中的数据导出到常见的关系型数据库,如MySQL、Oracle、SQL Server等。本文将深入介绍如何使用Sqoop进行数据导出,并提供详细的示例代码,以帮助大家更全面地理解和实施这一

    2024年02月20日
    浏览(40)
  • Hadoop3.0大数据处理学习4(案例:数据清洗、数据指标统计、任务脚本封装、Sqoop导出Mysql)

    直播公司每日都会产生海量的直播数据,为了更好地服务主播与用户,提高直播质量与用户粘性,往往会对大量的数据进行分析与统计,从中挖掘商业价值,我们将通过一个实战案例,来使用Hadoop技术来实现对直播数据的统计与分析。下面是简化的日志文件,详细的我会更新

    2024年02月08日
    浏览(53)
  • 用sqoop导出hive parquet 分区表到mysql

    确保你已经安装并配置好了Sqoop工具,并且可以连接到Hadoop集群和MySQL数据库。 创建一个MySQL表来存储导出的数据。请确保MySQL表的结构与Hive Parquet分区表的结构匹配。 使用Sqoop的export命令来执行导出操作。以下是一个示例命令: 替换 mysql_host、database_name、mysql_username 和 mysq

    2024年02月14日
    浏览(41)
  • Sqoop【实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)

    1️⃣ 查看所有命令【 sqoop help 】 2️⃣ 查看某条命令的具体使用方法【 sqoop help COMMAND 】 查询MySQL所有数据库,通常用于 Sqoop 与 MySQL 连通测试: 【具体参数可以使用 sqoop help list-databases 查看】实例: 结果: 【2个】WARN处理: 查询指定数据库中所有数据表,这里要注意一下

    2024年03月18日
    浏览(49)
  • Sqoop详解

    目录 一、sqoop基本原理 1.1、何为Sqoop? 1.2、为什么需要用Sqoop? 1.3、关系图  1.4、架构图 二、Sqoop可用命令 2.1、公用参数:数据库连接 2.2、公用参数:import 2.3、公用参数:export  2.4、公用参数:hive 2.3、其他命令 三、Sqoop常用命令 3.1、RDBMS = HDFS (导入重点) 3.1.1、全表导入

    2024年01月18日
    浏览(38)
  • 大数据bug-sqoop(二:sqoop同步mysql数据到hive进行字段限制。)

    新增加三个参数 –query “${sql}” 这个参数添加对应表的sql语句。注意结尾必须添加 $CONDITIONS ,必须添加where 条件,如果没有where条件,写成where 1=1。案例如下: \\\"select id,key_id,key_type,\\\'\\\' as encryption_cert_chain,device_type,account_id_hash,user_identifier,user_id,request_id,device_id,vehicle_id,vehicl

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包