寒假记录十二

baixiaoli baixiaoli     2023-04-19     328

关键词:

Sqoop概述

Sqoop是一款开源的工具,主要用于在Hadoop生态系统(HadoopHive)与传统的数据库(MySQLOracle)间进行数据的传递,可以将一个关系型数据库中的数据导入到HadoopHDFS中,也可以将HDFS的数据导入到关系型数据库中。

技术图片

Sqoop导入原理:

 

 

在导入开始之前,Sqoop使用JDBC来检查将要导入的表。他检索出表中所有的列以及列的SQL数据类型。这些SQL类型(varcharinteger)被映射到Java数据类型(StringInteger等),在MapReduce应用中将使用这些对应的Java类型来保存字段的值。Sqoop的代码生成器使用这些信息来创建对应表的类,用于保存从表中抽取的记录。Sqoop启动的MapReduce作业用到一个InputFormat,他可以通过JDBC从一个数据库表中读取部分内容。

 

Hadoop提供的DataDriverDB InputFormat能为查询结果进行划分传给指定个数的map任务。为了获取更好的导入性能,查询会根据一个划分列来进行划分。Sqoop会选择一个合适的列作为划分列(通常是表的主键)。在生成反序列化代码和配置InputFormat之后,Sqoop将作业发送到MapReduce集群。Map任务将执行查询并将ResultSet中的数据反序列化到生成类的实例,这些数据要么直接保存在SequenceFile文件中,要么在写到HDFS之前被转换成分割的文本。Sqoop不需要每次都导入整张表,用户也可以在查询中加入到where子句,以此来限定需要导入的记录。

 

Sqoop导出原理:

 

Sqoop导出功能的架构与其导入功能非常相似,在执行导出操作之前,Sqoop会根据数据库连接字符串来选择一个导出方法。一般为JDBC。然后,Sqoop会根据目标表的定义生成一个Java类。这个生成的类能够从文本文件中解析记录,并能够向表中插入合适类型的值。接着会启动一个MapReduce作业,从HDFS中读取源数据文件,使用生成的类解析记录,并且执行选定的导出方法。

 

寒假学习进度十二

摘要:实验二Scala编程初级实践一、实验目的1.掌握Scala语言的基本语法、数据结构和控制结构;2.掌握面向对象编程的基础知识,能够编写自定义类和特质;3.掌握函数式编程的基础知识,能够熟练定义匿名函数。熟悉Scala的容器... 查看详情

2020寒假训练记录

目标:信息学奥赛之数学一本通重学第一章数论第三章组合数学第四章概率第六章矩阵网络流DP多项式生成函数CFdiv130题整理模板2020-01-10添加模板:辛普森积分中国剩余定理矩阵乘法提交:POJ1006 查看详情

记录寒假进步每一天

2018-1-24:华理刚刚考完,决定寒假看资料,整理为主,刷题为辅,怕东西太多,容易忘记,所以晚上打卡,记录一下大概看了哪些内容,也方便以后整理和按目录刷题。1-24:O(n)线性筛欧拉函数、逆元、莫比乌斯函数(注意欧拉... 查看详情

寒假记录

左对齐标题右对齐标题居中对齐标题短文本中等文本稍微长一点的文本稍微长一点的文本短文本中等文本一个普通标题一个普通标题一个普通标题短文本中等文本稍微长一点的文本稍微长一点的文本短文本中等文本name价格数量... 查看详情

2020年寒假第7次学习进度记录

当日学习内容:视频学习jQuery基础,熟悉使用AndroidStudio1.视频学习近况   继续学习jQuery基础2.AndroidStudio的使用情况   在上次安装之后,发现AndroidSDK版本没有下载完,所以今天又对其进行的完善。 查看详情

2.2寒假记录

今天在改论文的一些内容,内容比较多,后面还需要一些时间来改。基本上明天开始外面的公司就要开始办公了,自己也得抓紧时间把论文改完,及时和老师沟通格式要求、内容要求,还需要学习springboot框架,后续实习需要这... 查看详情

2018寒假训练记录2.7

又看了一波后缀数组的论文,放弃要完全搞明白排序的那部分的想法了,黑盒就黑盒好了。注意的地方是数组最后要加一个0,理解sa,height,rank这几个数组的意义与用处。 sa[i]:排名i的后缀的起始位置height[i]:suffix(sa[i-1)和suff... 查看详情

寒假记录5(代码片段)

今天完成了实验任务三,主要学习了其中的Spark读取文件系统的数据。在spark-shell 中读取HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在,请先创建),然后,统计出文件的行数;scala>valtextFile=sc.textFile("hdfs... 查看详情

寒假记录七

今天完成了实验任务五-Spark SQL 编程初级实践编程实现利用DataFrame 读写MySQL的数据(1) 在MySQL 数据库中新建数据库sparktest,再建表employee,包含下列两行数据;表1employee表原有数据 idnamegenderage1AliceF222JohnM25&nbs... 查看详情

jmeter接口测试(十二)beanshell断言数据库记录对比

参考技术ABeanShell断言内容:返回请求结果是成功的预期结果与查询结果一致 查看详情

寒假学习记录第二天

1.ifelse     /**     *ifelse     */    val age =18     if (age < 18 )    println("noallow")    else if... 查看详情

寒假学习记录第六天

   统计学生成绩学生的成绩清单格式如下所示,第一行为表头,各字段意思分别为学号、性别、课程名1、课程名2等,后面每一行代表一个学生的信息,各字段之间用空白符隔开IdgenderMathEnglishPhysics301610male806478301611fema... 查看详情

寒假训练计划

寒假训练计划计划1、校内天梯赛+补题2、cf250~550泛做3、专题补全:遇到不会的知识点马上去学习并泛做该知识点3~5题4、一天至少三题(扣除水题)做题记录mark题号通过人数做题时间题解&吐槽ytimus112811852018/02/06TBD 查看详情

寒假学习记录第九天

今天弄了一下实验四shell的基础题请到本教程官网的“下载专区”的“数据集”中下载chapter5-data1.txt,该数据集包含了某大学计算机系的成绩,数据格式如下所示:Tom,DataBase,80Tom,Algorithm,50Tom,DataStructure,60Jim,DataBase,90Jim... 查看详情

寒假学习记录第七天(代码片段)

Python爬虫的一个案例爬取国家药品监督管理总局中基于中华人民共和国化妆品生产许可证相关数据importrequestsfromfake_useragentimportUserAgentua=UserAgent(use_cache_server=False,verify_ssl=False).randomheaders=‘User-Agent‘:uaurl=‘http://125.35.6.84:81/xk/itown... 查看详情

寒假学习记录12(代码片段)

寒假学习记录12学习任务:1.python基础(1)dictPython内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。  把数据放入dict的方法,除了初始化时指定外,还... 查看详情

寒假补习记录_4

  通过两天的学习(中间夹着元宵节休息),主要学习对数据库数据的直接操作、对库对表和其中数据的直接操作。说来也有意思,下载MySQL数据库就用了三次,结果这三次每次打开时都会出错误,虽然这三次都能通过百度或... 查看详情

寒假洛谷刷题技巧

越来越不想写博客了。。。。但适当总结是很必要的。1.深搜和广搜当有多组样例时,注意全局变量的清0和更新,还有数组和标记数组都要清0!!2.数组标记用了不会错,不用可能超时,尽量都用。3.一种... 查看详情