大数据技术原理与应用复习
复习提纲第二章试述Hadoop的生态组件
HDFS:分布式文件系统
HBase:分布式列式数据库
MapReduce:分布式编程模型
Hive:基于Hadoop的数据仓库
Pig:数据流语言和运行环境
Zookeeper:协同工作系统
Flume:海量日志采集聚合和监控工具
Sqoop:ETL交互工具
Mathout:数据挖掘工具
Ambari:基于Web的工具
第三章试述HDFS中的块和普通文件系统的块的区别
传统文件系统中,为了提高磁盘读写效率,一般以数据块为单位,而不是以字节为单位。
HDFS中的块,默认一个块的大小为64MB,而HDFS中的文件会被拆分为许多块,每个块作为独立的存储单元进行存储。HDFS在块的大小的设计上明显要大于普通文件系统。
试述HDFS中的名称节点和数据节点的具体功能
名称节点负责管理分布式文件系统系统的命名空间,记录分布式文件系统中的每个文件中各个块所在的数据节点的位置信息。
数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据客户端或者是名称节点的调度来进行数据的存储和检索。并向名称节点定期发送自己所存储的块的列表。 ...
计算智能课程设计(以人事招聘为例的误差反向传播算法)
写在前面昨天写了基于感知机的鸢尾花分类,今天下午要考《大数据技术原理》,本来是整个白天的课程设计,因为考试少了一下午。之前看书复习了一波,但记忆是需要反复锤炼的,所以要抓紧写完这个传播算法,抽出时间再去复习会。2021.11.30/2021.12.1/2021.12.2
以人事招聘为例的误差反向传播算法实验目的理解多层神经网络的结构和原理,掌握反向传播算法对神经元的训练过程,了解反向传播公式。通过构建 BP 网络实例,熟悉前馈网络的原理及结构。
背景知识误差反向传播算法即 BP 算法,是一种适合于多层神经网络的学习算法。其建立在梯度下降方法的基础之上,主要由激励传播和权重更新两个环节组成,经过反复迭代更新、修正权值从而输出预期的结果。BP 算法整体上可以分成正向传播和反向传播,原理如下:正向传播过程:信息经过输入层到达隐含层,再经过多个隐含层的处理后到达输出层。反向传播过程:比较输出结果和正确结果,将误差作为一个目标函数进行反向传播:对每一层依次求对权值的偏导数,构成目标函数对权值的梯度,网络权重再依次完成更新调整。依此往复、直到输出达到目标值完成训练。该算法可以总结为:利用输出误差推 ...
计算智能课程设计(基于感知机的鸢尾花分类)
写在前面岁月匆匆,不知不觉已经步入了大三学年。专业课的学习也变得更加深入,今天要做的是计算智能的课程设计,基于感知机的鸢尾花分类。2021.11.29.
基于感知机的鸢尾花分类实验目的利用感知机算法对鸢尾花种类进行分类,要求熟悉感知机算法,掌握利用Python实现机器学习算法的一般流程,了解scikit-learn机器学习库的使用。
背景知识植物的分类与识别是植物学研究和农林业生产经营中的重要基础工作,对于区分植物种类、探索植物间的亲缘关系、阐明植物系统的进化规律具有重要意义。传统识别植物的方法主要依靠人工,需要丰富的专业知识,工作量大,效率不高,而且难以保证分类的客观性和精确性。随着信息技术飞速发展,将计算机视觉、模式识别、数据库等技术应用于植物种类识别,使得识别更加简单、准确、易行。相对于植物的其它部分,其花朵图像更容易获取,花朵的颜色和形状等都可作为分类依据。本案例在提取花朵形态特征的基础上,利用感知机算法进行分类与识别。鸢(读音同”愿”)尾花,英文为 Iris,多年生草本植物,花大而美丽,叶片青翠碧绿,观赏价值很高,是一种重要的观赏用庭园植物。 其外形作为独特的徽章,在欧洲的宗 ...
算法设计与分析(算法分析技术)
实验1算法分析技术寻找最大元素和最小元素【问题描述】
使用一种程序设计语言分别写出一种从一个数组中寻找最大元素和最小元素的算法,并分析其时间复杂性。
【算法设计思路】
从数组的第一项起遍历整个数组,与数组的每一项元素进行比较进行交换,最终返回最大(最小)元素的索引。因只遍历了一遍数组,所以时间复杂度为O(n)。
【算法描述】
1234567891011121314151617int algorithm_max(int a[],int n){ int temp=0; for(int i=0; i<n; i++) if(a[temp]<a[i]) temp = i; return temp;}int algorithm_min(int a[],int n){ int temp=0; for(int i=0; i<n; i++) if(a[temp]>a[i]) temp = i; return temp;}
【复杂性分析 ...
JavaWeb编程基础(Servlet)
JavaWeb编程基础(Servlet)最近在做一个SpringBoot的项目,当我真正动手写完了一个登陆功能之后,倏然觉得自己对整个JavaWeb的开发只停留在遵循规范这一层面,并未真正静下心来去思考原理。所以,基于这个原因,我准备从头开始学习JavaWeb的开发,彻底搞懂背后的细节。
2021.11.23
ServletServlet 是 Server Applet 的缩写,是一种使用 Java 语言来开发动态网站的技术。
Java 是一种功能强大的通用型编程语言,可以处理 HTTP 请求,可以访问数据库,可以生成 HTML 代码,您完全可以使用原生 Java 来开发动态网站。但是,使用原生 Java 开发动态网站非常麻烦,需要自己解析 HTTP 请求的报头,需要自己分析用户的请求参数,需要自己加载数据库组件……种种原因导致使用原生 Java 开发动态网站几乎是一件不能被接受的事情。正是基于这种原因,Java 官方后来推出了 Servlet 技术,它对开发动态网站需要使用的原生 Java API 进行了封装,形成了一套新的 API,称为 Servlet API。
使用 Serv ...
计算机网络习题
第一章1-01 简述分组交换的要点:
加首部,报文分组
经路由器存储转发
在目的地合并
1-03 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点:
电路交换,端对端通信质量因为约定了通信资源获得可靠保障,对连续传送大量数据效率高。
报文交换,无需预约传送带宽,动态逐段利用传输带宽对突发式数据通信效率高。
分组交换,具有报文交换的高效,迅速的特点,并且各分组较小路由灵活,生存性能好。
1-08 计算机网络都有哪些类别?各种类别的网络都有哪些特点?
按范围:
广域网WAN:远程、高速、是Internet的核心网
城域网:城市范围,链接多个局域网
局域网:校园、企业、机关、社区
个域网PAN:个人电子设备
按用户:
公用网:面向公共运营
专用网:面向特定机构
1-10
线路交换时延:kd+x/b+s
分组交换时延:kd+(x/p)×(p/b)+(k-1)×(p/b),其中(k-1)×(p/b)表示K段传输中,有(k-1)次的储存转发时延,当s>(k-1)×(p/b)时,电路交换的时延比分组交换的时延大,当x>>p,则结果相反。
1-11
总时延D表 ...
大数据实验之拓荒
拓荒者我们身为HNUST第一批数据科学与大数据技术专业的本科生,非常激动能够使用学院提供的服务器集群,并在这里留下属于我们的痕迹。
前置准备工作CDH环境说明
集群目前是以应用用途来划分hdfs用户,因此没有各位同学专属的目录。为此需要各位同学自行设置环境变量指明当前的hdfs用户,建议使用hdfs作为用户。具体做法为在远程终端登录之后(XSHELL 登录成功之后 ) 中执行如下命令。
1export HADOOP_USER_NAME=hdfs
或者可以将上述命令添加到自己使用的shell环境变量配置文件,以避免每次都需要重新执行上述命令,默认情况下用户配置文件是指是~/.bashrc。
可以通过 vim 文本处理命令添加。也可以通过下面的命令直接完成。
12echo "export HADOOP_USER_NAME=hdfs" >> ~/.bashrc source ~./bashrc
在我们指明了当前的用户之后,分布式文件系统的相对目录会对应在分布式文件系统的/user/hdfs 目录下。
准备工作为了避免各位同学的数据之间有混淆,建议建立一个自 ...
软件工程之时序图
什么是时序图#时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
使用场景#时序图的使用场景非常广泛,几乎各行各业都可以使用。当然,作为一个软件工作者,我这边主要列举和软件开发有关的场景。
1. 梳理业务流程
一般的软件开发都是为了支撑某个具体的业务。有时候业务的流程会比较复杂,涉及到多种角色,这时就可以使用时序图来梳理这个业务逻辑。这样会使业务看起来非常清晰,代码写起来也是水到渠成的事情了。
2. 梳理开源软件
作为一个合格的程序员,阅读源代码的能力一定要过关。一般成熟框架的源代码调用深度都比较深,类之间的调用关系也比较复杂。我喜欢用时序图来梳理框架中这些对象之间的关系。比如再看Tomcat启动流程的过程中,我就时序图梳理了各个组件之间的关系,看起来层次非常清楚,也便于记忆。
时序图的角色#我们在画时序图时会涉及下面7种元素:
角色(Actor)
对象(Object)
生命线(LifeLine)
控制焦点(Activation)
消息(Message)
自关联消息
组合片段。
其 ...
速过英语六级攻略
英语六级的判分机制第一,你要知道,成绩计算其实是有公式的,官方给出的公式是:
解释一下:
X:代表的是你该项卷面分
Mean:代表的是样本均值
SD:代表的是样本标准差
TotSco:就是最后打在成绩单上的分数啦。
其中Mean和SD由本次考试被抽样的学生成绩所决定,所以啊,成绩高低还得看他们的发挥啊!
四级考试的常模群体选自全国16所高校的约三万名非英语专业的考生;六级常模群体选自全国五所重点大学的约五千名非英语专业的考生。
四六级的分数不是由你答对的题目决定的,而是由你在抽样学生中的排名所决定的。
对我们来说,这就是一场排位赛!你的分数取决于你在这个排位中的位置。
想要排位高,拿分高,就要确保自己能拿的分一定拿下,让自己的X远超过Mean。
工欲善其事必先利其器知道了六级判分的规则,我们如何应对呢?如我们只是简单的、很傻逼把整张卷子从头做到尾,按照出卷人的顺序做题,那你就中圈套了!!
下面我们看一张六级试卷题型与分数的分布图。
可以看出来,分值占比较大的题型是听力篇章 ,仔细阅读 ,写作 ,段落翻译 ,长篇阅读 。这些加在一起,分数占比达到了恐怖的**80%**。
...
算法之简单模拟题(一)
序列题目描述
Time Limit: 1000 msMemory Limit: 256 mb
1234567对于长度为6位的一个01串,每一位都可能是0或1,一共有64种可能。它的前几个是:000000000001000010000011000100请按从小到大的顺序输出这64种01串。
输入输出格式
输出描述:
1输出64行,每行一个01串。
思路12345678910111213141516171819#include <iostream>using namespace std;int k[6] = {0,0,0,0,0,0};int i = 0;int main(){ while(i<64){ int c = i; int j = 0; while(c){ if(c&1) k[j] = 1; //按位运算,如果位运算是1则更改数组的值。 else k[j] = 0; j++; c >>=1; } cout <<k[5]<< ...