自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 数学建模-最优包衣厚度终点判别法-三(Bayes判别分析法和梯度下降算法)

针对问题三,我们选取问题一提取的特征峰数据,对不同的包衣时间段各谱区的吸收值,最优包衣在谱区的吸收值和素片在谱区的吸收值进行Bayes判别。以问题二的聚类结果为基础数据,对问题一所提取的特征峰数据标记初始分组,通过Bayes准则下的判别分析方法,对数据进行判别再次划分类别,通过比对Bayes判别前后样本所属类别与初始分组是否一致,计算判别的准确性。对于解决不确定统计分析的问题,每个类别的样本取得不同特征向量的概率,实现依据某个待识别向量计算该样本每个类别的概率。不同包衣时间下的肠溶片对波长的吸收值。

2024-04-12 17:40:50 962

原创 数学建模-最优包衣厚度终点判别法-二(K-Means聚类)

针对问题二,本文通过使用聚类算法(K-Means),通过比较样本与聚类中心的距离,了解样本与该聚类的相似性或者距离程度。包衣技术要求对药片进行多次包衣和对包衣终点并没有明确指标,本问题通过在提取的有效特征峰基础上,根据聚类汇总分析各聚类类别的频数:此步骤是对第一步的补充,旨在了解每个聚类中样本的数量和分布。聚类中心是聚类算法中的重要概念,代表了该聚类的主要特征和中心思想。再在python中引入绘图包,引入使用K-Means聚类分析得到的聚类中心坐标,得到三种类别数据的聚类散点图,如图6所示。

2024-04-10 12:17:14 572

原创 数学建模-最优包衣厚度终点判别法(主成分分析)

包衣是将片剂的外表面均匀地包裹上一层衣膜的过程,旨在控制药物在胃肠道中的释放部位和速度,遮盖苦味或不良气味,防潮、避光,改善外观等。然而,包衣膜太薄或太厚都不利于药效,并且包衣终点的判断方法目前存在一定的难度。轴,在此基础上进行主成分分析,在进行特征根选取时,发现有两种情况可以选择,第一种情况是选取特征根大于1的成分,可以选取出2个主成分,第二种情况是按照公式(1)算取方差贡献率以选取特征根,可以选取出3个主成分。问题三:对于不同的包衣厚度,通过建立模型分析包衣之间的关联性,判别出最优的包衣厚度。

2024-04-05 21:52:55 1259

原创 数学建模-模糊性综合评价模型

本文通过模糊综合评价算法对2013年到2021年的中医药市场状况做定性分析和评判,旨在通过数学模型寻找到中医药市场现状和所涉及中医药市场影响因素之间的关系、对于中国医药市场现状的分析理解以及近9年中医药市场影响因素对中医药市场的综合影响作用大小变化。其中,影响因素的权重分配对评价结果的影响较大,本文采用熵值法和灰色关联度法的权重集来建立模糊综合评价模型,利用这两种方法计算得到的权重略有不同,但对于中医药市场的影响因素进行评估时,两种方法的结果相似,具有一定的可信度。建立合适的隶属函数是良好评价模型的基础。

2024-03-12 23:01:26 1089

原创 数学建模-多目标规划算法(美赛建模)

主要以安大略湖为核心,其它湖为次要考虑因素的利益相关者的分析。1. Lake Ontario 水位管理模型:1.1 水位控制因素:- 湖泊补给源: 入湖流量 I(t)- 湖泊排水源: 排水流量 O(t)- 湖泊蒸发: 蒸发量 E(t)- 湖泊降雨: 降雨量 R(t)- 湖泊人工控制: 人工控制量 U(t)1.2 水位模型:湖泊水位模型可以采用动态水库模型:2. 利益相关方和目标分析:2.1 利益相关方:- 当地居民: 洪水风险降低、水质保护。- 渔业: 水生态系统保护。

2024-03-12 12:37:21 1609 1

原创 数学建模-敏感度分析(美赛)

在输出中观察到的任何更改都将明确地由单个变量的更改引起。此外,通过每次更改一个变量,可以将所有其他变量固定在它们的基线值,增加了结果的可比较性(与基线情况相比较),并将计算机程序崩溃(同时改变几个因素的情况)的几率降至最低。最简单和最常见的方法之一是每次更改一个因素(OAT),我们这里改变的量也就是单一的环境变化量,以查看这会对输出产生什么影响。移动一个输入变量,保持其他变量的基线值(nominal value),然后将变量返回到其标称值,然后以相同的方式对每个其他输入进行重复。

2024-03-10 22:17:50 1094

原创 数学建模-动态规划&遗传算法(美赛运用)

(crossover)和变异(mutation)等现象,从任一初始种群(Population)出发,通过随机选择、交叉和变异操作,产生一群更适合环境的个体,使群体进化到搜索空间中越来越好的区域,这样一代一代不断繁衍进化,最后收敛到一群最适应环境的个体(Individual),从而求得问题的优质解。不同的是遗传算法在本基础上加上往年同月或同季节中的河流量变化值作为参考,在该动态网络流模型中的再次进行相应的河流流量调整从而得到最后相对更加准确的结果。此,各种各样的利益相关者都对流入和流出湖泊的水的管理感兴趣。

2024-03-09 20:13:11 1315 6

原创 算法-删除有序数组中的重复项

不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。两种查找算法思想并不相同。

2024-03-07 12:32:55 168 2

原创 数学建模-多目标规划

当想x(1)=0.5625,x(2)=5.625时,两目标函数最大值分别为f(1)=9.5625, f(2)=19.125。第一个函数最大值(我们先求最小值)第二个函数最大值(我们先求最小值)合在一起求两个函数的最大值。例:求下列函数最大值。先建立fun.m函数。

2024-02-01 12:04:23 487

原创 数学建模-灰色预测模型

(计算残差,abs表示绝对值)error2(i)=error1(i)/x0(i);求出相对误差检验,并说明精度级别。相对误差:0.00467,良好。

2024-02-01 12:00:20 653

原创 数学建模-退火算法和遗传算法

W]=load('D:100个目标经度纬度.txt');for k=1:dai %产生 0~1 间随机数列进行编码。[E]=xlsread('D:100个目标经度纬度');[E]=xlsread('D:100个目标经度纬度');个目标的数据, 数据按照表格中的位置保存在纯文本文件。%在父代和子代中选择优良品种作为新的父代。在父代和子代中选择优良品种作为新的父代。e=e*pi/180;%通过改良圈算法选取优良父代 A。通过改良圈算法选取优良父代。

2024-02-01 11:55:35 1003

原创 大数据学习(32)hive优化方法总结

&&大数据学习&&🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞Hive优化主要从以下几个方面考虑: 数据倾斜:对于数据倾斜问题,可以尝试进行数据重分布,将倾斜的数据进行重新整理。也可以通过多线程处理和数据分箱等技术进行优化。 减少job数:对于大量的小任务,可以尝试进行任务的合并,减少任务的启动次数,从而提高效率。 合理设置map和reduce的ta

2024-01-14 10:33:05 416

原创 大数据学习(31)-Spark常用及重要特性

以上仅仅是部分spark在执行过程中的重要知识,这里只做了简要解释与介绍。深入了解可以看看其他博主的文章。上述的SortMergeJoin转换为BroadcastHashJoin在之前的文章中有提及过,还有hive的内存管理机制等等,在我的主页都可以查看。spark中引入过很多不常用的特性。但是非常重要的特性。

2024-01-03 22:01:14 579

原创 大数据学习(30)-Spark Shuffle

2. SortShuffle主要是对磁盘文件进行合并来进行文件 数量的减少, 同时两类Shuffle都需要经过内存缓冲区 溢写磁盘的场景。所以可以得知, 尽管Spark是内存迭 代计算框架, 但是内存迭代主要在窄依赖中. 在宽依赖(Shuffle)中磁盘交互还是一个无可避免的情况. 所 以, 我们要尽量减少Shuffle的出现, 不要进行无意义的Shuffle计算。在Spark的两个阶段中, 总是前一个阶段产生 一批Map提供数据, 下一阶段产生一批Reduce接收数据。基本和未优化的一致,不同点在于。

2023-12-29 09:12:01 688

原创 大数据学习(29)-spark on yarn底层原理

总的来说,Spark on Yarn的底层原理是通过YARN的资源管理和调度机制,为Spark应用程序提供资源分配、任务执行和容错处理等功能。

2023-12-20 20:56:18 750

原创 大数据学习(28)-Yarn总结与注意事项

YARN(Yet Another Resource Negotiator)是Apache Hadoop生态系统中的一个组件,用于管理和调度分布式应用程序。它提供了一个可扩展的框架,用于处理大规模数据和分布式计算任务。YARN的主要目标是提供更高效、灵活和可扩展的资源管理,以满足Hadoop生态系统中的各种应用程序需求。

2023-12-19 20:36:53 948

原创 大数据学习(27)-数据倾斜总结

总之,针对Hive数据倾斜问题的解决方案中,聚合优化和join优化是非常重要的两个方面。问题定义:Hive数据倾斜问题是指在执行Hive SQL查询时,由于某些表或列的数据量过大,导致某些节点或任务的执行时间过长,从而影响整个查询的效率。Hive数据倾斜问题是指在Hive SQL查询过程中,由于数据在表或列上的分布不均衡,导致某些节点或任务执行时间过长,影响整个查询的效率。上述没有包含详细的解决方案,具体操作看往期作品有详细优化过程。

2023-11-29 10:04:09 1019

原创 大数据学习(26)-spark SQL核心总结

Spark SQL是一种功能强大的数据处理工具,适用于处理结构化数据。它提供了丰富的数据源整合、编程语言支持和数据处理功能,可以高效地处理大规模的数据集。Spark SQL是Apache Spark的一个模块,它用于处理结构化数据。

2023-11-29 09:54:11 627

原创 大数据学习(25)-hive核心总结

(1)JDBC的移植性比ODBC好;元数据包括:数据库(默认是default)、表名、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等。(2)两者使用的语言不同,JDBC在Java编程时使用,ODBC一般在C/C++编程时使用。(5)物理计划生成器(Physical Plan Gen):根据优化后的逻辑计划生成物理计划。(3)逻辑计划生成器(Logical Plan Gen):将语法树生成逻辑计划。(1)解析器(SQLParser):将SQL字符串转换成抽象语法树(AST)

2023-11-29 09:50:19 581

原创 大数据学习(24)-spark on hive和hive on spark的区别

Hive默认使用MapReduce作为执行引擎,即Hive on MapReduce。实际上,Hive还可以使用Tez和Spark作为其执行引擎,分别为Hive on Tez和Hive on Spark。因此,Hive on Spark也会比Hive on MapReduce快。由于Hive on MapReduce的缺陷,所以企业里基本上很少使用了。通过SparkSQL,加载Hive的配置文件,获取到Hive的元数据信息;获取到Hive的元数据信息之后可以拿到Hive表的数据;

2023-11-26 16:10:47 836 1

原创 大数据学习(23)-hive on mapreduce对比hive on spark

需要注意的是,随着 Apache Spark 的普及和发展,Hive on Spark 逐渐成为主流的 Hive 运行环境。许多公司和组织已经将 Spark 作为其默认的计算引擎,并逐渐将 Hive 从 MapReduce 迁移到 Spark 上。Hive on Spark 和 Hive on MapReduce 是两种不同的 Hive 运行环境,它们分别使用 Apache Spark 和 Apache MapReduce 作为底层的计算引擎。

2023-11-22 16:48:32 1420

原创 大数据学习(22)-spark

它支持多种数据处理模式,包括批处理、迭代算法、交互式查询、流处理等,可以一站式地完成大数据领域的离线批处理、交互式查询、流式计算、机器学习、图计算等常见的任务。总结来说,Spark应用程序(Application)是用户提交的任务,驱动程序(Driver program)负责启动和管理应用程序的执行,集群管理器(Cluster manager)负责在集群中分配和管理资源,部署模式(Deploy mode)决定了应用程序如何在集群中运行。之后会持续更新spark,hive已经学完啦!

2023-11-19 11:36:24 592

原创 大数据(21)-skew-GroupBy

需要注意的是,Skew-GroupBy优化适用于数据倾斜的情况,即某些键具有更高的出现频率。通过将数据分散到不同的MapReduce任务中,可以避免单个任务处理大量数据的情况,从而提高处理效率。然而,Skew-GroupBy优化也需要额外的资源来启动两个MapReduce任务,因此在使用时需要根据具体情况进行权衡。Skew-GroupBy优化是一种针对大数据处理的优化技术,它通过将数据分散到不同的MapReduce任务中来提高处理效率。

2023-11-01 13:23:17 336

原创 大数据开发(20)-Skew join

如果join操作涉及的数据倾斜并不严重,或者你可以接受较长的处理时间,那么可能并不需要开启skewjoin。另外,如果你的系统资源有限,或者你希望尽量减少内存的使用,那么也可能会选择不开启skewjoin。具体来说,skewjoin的原理是在执行job时,将倾斜的key存储到临时的HDFS目录中,而其他数据则正常执行。对于倾斜数据开启mapjoin操作(多个map并行处理),对非倾斜值采取普通的join操作。当处理大表和大表之间的join操作时,可以考虑开启skewjoin来优化倾斜数据的处理。

2023-10-30 17:34:51 545

原创 大数据开发(19)-hash table详解

需要注意的是,由于每个Map任务都有自己的哈希表,因此Map任务的堆内存大小对于整个MapReduce作业的性能和资源消耗有很大的影响。因此,在配置Map任务的堆内存时需要谨慎考虑,确保足够的内存资源来处理数据和维持哈希表的操作。在MapReduce框架中,每个Map任务都是独立的,它们分别处理输入数据集的不同部分。这个哈希表是在内存中维护的,它的最大大小取决于Map任务的堆内存大小。在Map-side聚合中,每个Map任务(mapper)都会维护一个独立的哈希表(hash table)。

2023-10-30 11:48:13 102

原创 大数据学习(18)-任务并行度优化

这种情况下,可以使用Hive提供的CombineHiveInputFormat,多个小文件合并为一个切片,从而控制map task个数。若想加快计算速度,在计算资源充足的情况下,可考虑增大map端的并行度,令map task多一些,每个map task计算的数据少一些。根据上述描述,可以看出,Hive自行估算Reduce并行度时,是以整个MR Job输入的文件大小作为依据的。Reduce端的并行度,可由用户自己指定,也可由Hive自行根据该MR Job输入的文件大小进行估算。是由输入文件的切片数决定的。

2023-10-29 09:14:36 195

原创 大数据学习(17)-mapreduce task详解

需要注意的是,虽然Local Task可以处理小规模数据,但如果数据量过大,或者需要处理的数据集超过了本地硬件资源的限制,那么Local Task可能会遇到性能瓶颈或者内存不足等问题。例如,开发人员可以在本地测试和调试MapReduce程序,或者快速处理一些小规模的数据进行分析或处理。由于Local Task是在本地运行的,因此它不需要等待Hadoop集群的资源分配和任务调度,可以更快地执行任务。这种任务适合于那些数据规模较小,不需要使用分布式计算环境,或者只需要在本地进行快速测试和验证的任务。

2023-10-21 22:31:52 530

原创 大数据学习(16)-mapreduce详解

为了解决这个问题,Hive引入了map-side聚合的优化方法。在map-side聚合中,我们在Map阶段不仅仅只是将数据按照分组字段进行分区,而是利用一个hash table来维护每个分组的数据。在遍历数据的过程中,我们会对每个分组的数据进行部分的聚合运算,然后将聚合的结果存储在hash table中。传统的方法是在Map阶段将数据按照分组字段进行分区,然后将结果发送到Reduce阶段进行聚合运算。在Reduce阶段,我们只需要对每个分组的数据进行最终的聚合运算,这样就可以大大减少需要处理的数据量。

2023-10-20 16:53:57 438

原创 大数据学习(15)-数据倾斜

数据倾斜问题,通常是指参与计算的数据分布不均,即某个key或者某些key的数据量远超其他key,导致在shuffle阶段,大量相同key的数据被发往同一个Reduce,进而导致该Reduce所需的时间远超其他Reduce,成为整个任务的瓶颈。Hive中的数据倾斜常出现在分组聚合和join操作的场景中,下面分别介绍在上述两种场景下的优化思路。

2023-10-19 11:16:34 151

原创 大数据学习(14)-Map Join和Common Join

在这个问题中,条件任务会根据数据的大小和查询需求来生成Map Join任务和Common Join任务。注意:在一些情况下,Hive可能无法确定哪个Join策略更优,所以它会生成两种类型的任务,然后在执行阶段通过参数来选择最合适的任务类型。对于一些适合Map Join的查询,Hive会在条件任务下生成一个计划列表,这个列表中只包含Map Join任务。而对于一些适合Common Join的查询,Hive会在条件任务下生成一个计划列表,这个列表中只包含Common Join任务。

2023-10-18 17:19:11 254

原创 大数据学习(13)-join优化详解

之后在物理优化阶段,Hive会根据每个Common Join任务所需表的大小判断该Common Join任务是否能够转换为Map Join任务,若满足要求,便将Common Join任务自动转换为Map Join任务。但有些Common Join任务所需的表大小,在SQL的编译阶段是未知的(例如对子查询进行join操作),所以这种Common Join任务是否能转换成Map Join任务在编译阶是无法确定的。用户可通过如下方式,指定通过map join算法,并且ta将作为map join中的小表。

2023-10-18 16:54:14 186

原创 大数据学习(12)-join优化common join

Hive拥有多种join算法,包括Common Join,Map Join,Bucket Map Join,Sort Merge Buckt Map Join等,下面对每种join算法做简要说明:1)Common JoinCommon Join是Hive中最稳定的join算法,其通过一个MapReduce Job完成一个join操作。Map端负责读取join操作所需表的数据,并按照关联字段进行分区,通过Shuffle,将其发送到Reduce端,相同key的数据在Reduce端完成最终的Join操作。如下图所

2023-10-16 21:20:26 224

原创 前端打包项目上线-nginx

之前其实做过几次了,但是最近有一个本地小工具要使用,还只有打包文件。然后自己突然想到可以做成一个本地的上线的项目就可以了(我真的太聪明了!第四步:打开你的http-server服务,没有下载去下一次就ok了。第五步:把你的打包的文件放进去,到http目录里面就ok。第三步:打开文件夹,把http里的路径打开cmd。第一步:下载nginx。第二步:解压zip包。

2023-10-15 10:40:32 220 2

原创 大数据学习(11)-hive on mapreduce详解

Hive还提供了自己的文件格式和存储机制,例如Hive表的默认存储格式是面向列的ORC(Optimized Row Columnar)格式,这使得Hive在处理大规模数据时具有更好的性能和扩展性。因此,可以说Hive是基于MapReduce的查询和分析工具,它充分利用了Hadoop的分布式处理能力,能够对大规模数据进行高效的处理和分析。所以Hive基于MapReduce的数据仓库工具,它通过HiveQL提供了SQL查询功能和MapReduce编程接口,使得用户可以方便地对大规模数据进行处理和分析。

2023-10-14 21:28:29 1008

原创 大数据学习(10)-Explain详解

这个执行计划通常由一系列的Stage组成,每个Stage代表了一个MapReduce Job或者一个文件系统操作等。这些Stage按照一定的顺序排列,并且相邻的Stage之间通常存在着依赖关系。通过将这些Stage以及它们之间的依赖关系呈现出来,Explain可以提供一个清晰的可视化效果,帮助用户更好地理解Job的执行过程以及各个阶段的时间消耗等。同时,如果Job执行过程中出现了问题,通过Explain也可以快速定位到问题出现的Stage,以便于进行问题的排查和解决。

2023-10-14 10:06:33 177

原创 大数据学习(9)-hadoop集群计算速度影响因素

Hadoop集群的计算速度受到多种因素的影响,需要根据具体情况进行分析和优化。

2023-10-13 20:53:41 372

原创 大数据学习(8)-hive压缩

若一张表的文件类型为TextFile,若需要对该表中的数据进行压缩,多数情况下,无需在建表语句做出声明。直接将压缩后的文件导入到该表即可,Hive在查询表中数据时,可自动识别其压缩格式,进行解压。需要注意的是,在执行往表中导入数据的SQL语句时,用户需设置以下参数,来保证写入表中的数据是被压缩的。在Hive表中和计算过程中,保持数据的压缩,对磁盘空间的有效利用和提高查询性能都是十分有益的。在Hive中,不同文件类型的表,声明数据压缩的方式是不同的。--输出结果的压缩格式(以下示例为snappy)

2023-10-13 10:01:45 725

原创 大数据学习(7)-hive文件格式总结

Body由1个或多个stripe组成,每个stripe一般为HDFS的块大小,每一个stripe包含多条记录,这些记录按照列进行独立存储,每个stripe里有三部分组成,分别是Index Data,Row Data,Stripe Footer。为Hive表中的数据选择一个合适的文件格式,对提高查询性能的提高是十分有益的。查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。

2023-10-12 22:46:24 748

原创 大数据学习(6)-hive底层原理Mapreduce

在Reduce阶段,不同的Map任务输出的键值对通过Shuffle机制进行分区和排序,相同key的数据value放在一个集合中。然后,对每个key对应的value集合进行归约处理,即执行Reduce函数。在Map阶段,MapTask并行度决定机制根据InputFormat数据切片机制对输入数据进行切片,将切片分配给不同的Map任务。总的来说,MapReduce通过“分而治之”的思想,把对大规模数据集的处理,分发给主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。

2023-10-12 22:36:40 1043

原创 大数据学习(5)-hive文件格式

为了避免数据倾斜,可以采取一些处理方式,例如设置hive.map.aggr=true(默认开启)进行部分聚合操作,或者设置hive.groupby.skewindata=true(默认关闭)进行负载均衡等。,某些Reduce节点的执行时间明显长于其他节点,导致整个程序的执行时间增加。这通常发生在某些key值的数据量比其他key值大很多的情况下,因为这些。总的来说,Hive支持多种文件存储格式,具体选择哪种格式取决于具体的使用场景和需求。下一期具体分析负载均衡。,从而导致该节点处理的数据量过大。

2023-10-12 18:18:23 546

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除