当前位置: 首页 > news >正文

SparkSQL与Hive整合 、SparkSQL函数操作

SparkSQL与Hive整合

SparkSQL和Hive的整合,是一种比较常见的关联处理方式,SparkSQL加载Hive中的数据进行业务处理,同时将计算结果落地回Hive中。

整合需要注意的地方

1)需要引入hive的hive-site.xml,添加classpath目录下面即可,或者放到$SPARK_HOME/conf。

2)为了能够正常解析hive-site.xml中hdfs路径,需要将hdfs-site.xml和core-site.xml到classpath下面。整合编码如下:

object Hive_Support {def main(args: Array[String]): Unit = {//创建sparkSql程序入口val spark: SparkSession = SparkSession.builder().appName("demo").master("local[*]").enableHiveSupport().getOrCreate()//调用sparkContextval sc: SparkContext = spark.sparkContext//设置日志级别sc.setLogLevel("WARN")//导包import spark.implicits._//查询hive当中的表spark.sql("show tables").show()//创建表spark.sql("CREATE TABLE person (id int, name string, age int) row format delimited fields terminated by ' '")//导入数据spark.sql("load data local inpath'./person.txt' into table person")//查询表当中数据spark.sql("select * from person").show()}
}

SparkSQL函数操作

函数的定义

SQL中函数,其实说白了就是各大编程语言中的函数,或者方法,就是对某一特定功能的封装,通过它可以完成较为复杂的统计。这里的函数的学习,就基于Hive中的函数来学习。

函数的分类

函数的分类方式非常多,主要从功能和实现方式上进行区分。

实现方式上分类

1)UDF(User Defined function)用户自定义函数:一路输入,一路输出,比如year,date_add, instr。

2)UDAF(User Defined aggregation function)用户自定义聚合函数:多路输入,一路输出,常见的聚合函数:count、sum、collect_list。

3)UDTF(User Defined table function)用户自定义表函数:一路输入,多路输出,explode。

4)开窗函数:row_number(),sum/max/min over。

用户自定义函数

当系统提供的这些函数,满足不了我们的需要的话,就只能进行自定义相关的函数,一般自定义的函数两种,UDF和UDAF。

1)UDF:一路输入,一路输出,完成就是基于scala函数。

通过模拟获取字符串长度的udf来学习自定义udf操作。

object UDF_Demo {def main(args: Array[String]): Unit = {//创建sparkSql程序入口val spark: SparkSession = SparkSession.builder().appName("demo").master("local[*]").getOrCreate()//调用sparkContextval sc: SparkContext = spark.sparkContext//设置日志级别sc.setLogLevel("WARN")//导包import spark.implicits._//加载文件val personDF: DataFrame = spark.read.json("E:\\data\\people.json")//展示数据//personDF.show()//注册成为一张表personDF.createOrReplaceTempView("t_person")//赋予什么功能val fun = (x:String)=>{"Name:"+x}//没有addName这个函数,就注册它spark.udf.register("addName",fun)//查询spark.sql("select name,addName(name) from t_person").show()//释放资源spark.stop()}}

2)开窗函数:over()开窗函数是按照某个字段分组,然后查询出另一字段的前几个的值,相当于分组取topN。

row_number() over (partitin by XXX order by XXX)

rank() 跳跃排序,有两个第二名是,后边跟着的是第四名

dense_rank()  连续排序,有两个第二名是,后边跟着的是第三名

row_number() 连续排序,两个值相同排序也是不同

在使用聚合函数后,会将多行变成一行,而over()开窗函数其实就是给每个分组的数据,按照其排序的顺序,打上一个分组内的行号,直接将所有列信息显示出来。在使用聚合函数后,如果要显示其它的列必须将列加入到group by中,而使用开窗函数后,可以不使用group by。

代码如下:

case class StudentScore(name:String,clazz:Int,score:Int)
object SparkSqlOverDemo {def main(args: Array[String]): Unit = {val conf = new SparkConf().setMaster("local[*]").setAppName("sparksqlover")val sc = new SparkContext(conf)val spark = SparkSession.builder().config(conf).getOrCreate()val arr01 = Array(("a",1,88),("b",1,78),("c",1,95),("d",2,74),("e",2,92),("f",3,99),("g",3,99),("h",3,45),("i",3,53),("j",3,78))import spark.implicits._val scoreRDD = sc.makeRDD(arr01).map(x=>StudentScore(x._1,x._2,x._3)).toDSscoreRDD.createOrReplaceTempView("t_score")//查询t_score表数据spark.sql("select * from t_score").show()//使用开窗函数查找topN,rank() 跳跃排序,有两个第二名是,后边跟着的是第四名spark.sql("select name,clazz,score, rank() over( partition by clazz order by score desc ) rownum from t_score ").show()//讲使用开窗函数后的查询结果作为一张临时表,这个临时表有每个班的成绩排名,再取前三名spark.sql("select * from (select name,clazz,score, rank() over( partition by clazz order by score desc ) rownum from t_score) t1 where rownum <=3 ").show()}
}

相关文章:

SparkSQL与Hive整合 、SparkSQL函数操作

SparkSQL与Hive整合 SparkSQL和Hive的整合&#xff0c;是一种比较常见的关联处理方式&#xff0c;SparkSQL加载Hive中的数据进行业务处理&#xff0c;同时将计算结果落地回Hive中。 整合需要注意的地方 1)需要引入hive的hive-site.xml&#xff0c;添加classpath目录下面即可…...

K8s: Helm搭建mysql集群(2)

搭建 mysql 集群 应用中心&#xff0c;mysql 文档参考https://artifacthub.io/packages/helm/bitnami/mysql 1 &#xff09;helm 搭建 mysql A. 无存储&#xff0c;重启数据丢失 添加源 $ helm repo add mysql-repo https://charts.bitnami.com/bitnami安装 $ helm install…...

matlab期末知识

1.期末考什么&#xff1f; 1.1 matlab操作界面 &#xff08;1&#xff09;matlab主界面 &#xff08;2&#xff09;命令行窗口 &#xff08;3&#xff09;当前文件夹窗口 &#xff08;4&#xff09;工作区窗口 &#xff08;5&#xff09;命令历史记录窗口 1.2 matlab搜索…...

多台服务器共享python虚拟环境和Linux安装python虚拟环境

文章目录 一、新增服务器环境搭建1. python3 环境搭建2.必要软件安装3. 目录挂载1 ./toolchain 挂载&#xff1a;2. /virtualenvs挂载&#xff1a; 4. 安装驱动和sdk 二、多台服务器共享python虚拟环境 一、新增服务器环境搭建 1. python3 环境搭建 16.04 系统默认 python3.5&…...

在Python中安装和使用pandas库

在Python中安装和使用pandas库是一个相对简单的过程。以下是具体的步骤&#xff1a; 安装pandas库 你可以使用Python的包管理器pip来安装pandas。打开你的命令行工具&#xff08;在Windows上可能是CMD或PowerShell&#xff0c;在macOS或Linux上可能是Terminal&#xff09;&am…...

零基础学习数据库SQL语句之查询表中数据的DQL语句

是用来查询数据库表的记录的语句 在SQL语句中占有90%以上 也是最为复杂的操作 最为繁琐的操作 DQL语句很重要很重要 初始化数据库和表 USE dduo;create table tb_emp(id int unsigned primary key auto_increment comment ID,username varchar(20) not null unique comment…...

C++语法|bind1st和bind2nd的用法

文章目录 What什么是&#xff1f;How什么时候用&#xff1f;如何用&#xff1f;bind1st和bind2nd的底层实现原理my_find_if分析myBind1st分析 What什么是&#xff1f; bind1st 和bind2nd分别是一个用来绑定函数对象的第一个参数或第二个参数的适配器。它在 C98 和 C03 标准中很…...

Zabbix+Grafana-常见报错及异常处理方式记录

文章目录 Zabbix安装篇Zabbix Web页面连接数据库失败 Zabbix使用篇中文显示不全 Zabbix报警篇新建的用户&#xff0c;配置报警后&#xff0c;无法收到报警 Grafana安装篇Windows系统安装时&#xff0c;添加zabbix报错&#xff1a;An error occurred within the plugin Zabbix安…...

一键转换,MP4视频变为MP3音频,只需这一行代码!

想要将珍藏的视频配乐提取出来&#xff1f;想把喜欢的电影原声变成音频&#xff1f;现在&#xff0c;只需一行代码&#xff0c;就能轻松将MP4视频转换为MP3音频&#xff01; 这篇文章将带你一步步完成转换&#xff0c;并详细解释每一步的操作&#xff0c;即使你是新手也能轻松…...

Oracle12之后json解析包怎么调用

在 Oracle 12g 及之后的版本中&#xff0c;Oracle 提供了对 JSON 的原生支持&#xff0c;使得在数据库中存储、查询和解析 JSON 数据变得更为简单。你可以使用 Oracle 提供的 SQL 函数和操作符来处理 JSON 数据。 以下是一些常用的 Oracle SQL 函数和操作符&#xff0c;用于解…...

wordpress子比主题美化-为图文列表封面添加动态缩略图特效 多种效果演示

wordpress子比主题-为图文列表文章封面添加动态缩略图特效 给自己子比主题加一个列表文章封面添加动态缩略图 直接复制以下代码&#xff0c;添加到主题自定义CSS代码中即可&#xff0c;下图为效果演示 wordpress子比主题-为图文列表文章封面添加动态缩略图特效 给自己子比主题…...

spring boot3多模块项目工程搭建-上(团队开发模板)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 多模块结构优缺点 模块介绍 Common 模块&#xff1a; API 模块&#xff1a; Web 模块&#xff1a; Service 模块&#xff1a; DAO 模块&#xff1a; 搭建步骤 1.创建 父…...

人脸美型SDK解决方案,适用于各类应用场景

视频内容已经成为企业宣传、产品展示、互动直播等多个领域的核心载体。而在这些场景中&#xff0c;高质量的人脸美型效果不仅能够提升用户体验&#xff0c;更能为品牌加分。美摄科技凭借深厚的技术积累和行业洞察&#xff0c;推出了全新的人脸美型SDK解决方案&#xff0c;为企业…...

RS2103XH 功能和参数介绍及规格书

RS2103XH 是一款单刀双掷&#xff08;SPDT&#xff09;模拟开关芯片&#xff0c;主要用于各种模拟信号的切换和控制。下面是一些其主要的功能和参数介绍&#xff1a; 主要功能特点&#xff1a; 模拟信号切换&#xff1a;能够连接和断开模拟信号路径&#xff0c;提供灵活的信号路…...

nn.TransformerEncoderLayer详细解释,使用方法!!

nn.TransformerEncoderLayer nn.TransformerEncoderLayer 是 PyTorch 的 torch.nn 模块中提供的一个类&#xff0c;用于实现 Transformer 编码器的一个单独的层。Transformer 编码器层通常包括一个自注意力机制和一个前馈神经网络&#xff0c;中间可能还包含层归一化&#xff…...

巨控GRM561/562/563/564Q杀菌信息远程监控

摘要 通过程序编写、手机APP画面制作等运行系统&#xff0c;实现电脑及手机APP显示的历史曲线画面和数据图形化的实时性。 不仅流程效率提升90%以上&#xff0c;同时为杀菌生产提供有利的质量保障&#xff0c;还有效规避因触屏及内存卡的突发异常导致历史数据的丢失&#xff0…...

RT-DETR-20240507周更说明|更新Inner-IoU、Focal-IoU、Focaler-IoU等数十种IoU计算方式

RT-DETR改进专栏|包含主干、模块、注意力、损失函数等改进 专栏介绍 本专栏包含模块、卷积、检测头、损失等深度学习前沿改进,目前已有改进点70&#xff01;每周更新。 20240507更新说明&#xff1a; ⭐⭐ 更新CIoU、DIoU、MDPIoU、GIoU、EIoU、SIoU、ShapeIou、PowerfulIoU、…...

Web3:下一代互联网的科技进化

随着科技的不断演进&#xff0c;互联网已经成为了我们生活中不可或缺的一部分。而在Web3时代&#xff0c;我们将会见证互联网进化的下一个阶段。本文将探讨Web3作为下一代互联网的科技进化&#xff0c;以及它所带来的重要变革和影响。 传统互联网的局限性 传统互联网存在诸多…...

SQL注入-基础知识

目录 前言 一&#xff0c;SQL注入是什么 二&#xff0c;SQL注入产生的条件 三&#xff0c;学习环境介绍 四、SQL注入原理 五&#xff0c;SQL中常用的函数 六&#xff0c;关于Mysql数据库 前言 在网络安全领域中&#xff0c;sql注入是一个无法被忽视的关键点&#xff0c…...

npx 有什么作用跟意义?为什么要有 npx?什么场景使用?

npx 是 npm 从 v5.2.0 开始新增了 npx 命令&#xff0c;> 该版本会自动安装 npx&#xff0c;如果不能使用就手动安装一下&#xff1a; $ npm install -g npxnpx 的作用 npm 只能管理包的依赖&#xff0c;npx 则可以快捷的运用包中的命令行工具和其他可执行文件&#xff0c…...

Docker搭建LNMP+Wordpress

目录 一.项目模拟 1.项目环境 2.服务器环境 3.任务需求 &#xff08;1&#xff09;使用 Docker 构建 LNMP 环境并运行 Wordpress 网站平台 &#xff08;2&#xff09;限制 Nginx 容器最多使用 500MB 的内存和 1G 的 Swap &#xff08;3&#xff09;限制 Mysql 容器写 /d…...

PCIE相关总结

1、概述 "PCIE 槽位" 指的是主板上的 Peripheral Component Interconnect Express &#xff08;外围设备互联扩展&#xff09;槽位。它是用于连接扩展卡&#xff08;如显卡、网卡、声卡等&#xff09;到主板的接口。PCI Express 是一种高速串行扩展总线标准&#xff…...

OpenCV 入门(五) —— 人脸识别模型训练与 Windows 下的人脸识别

OpenCV 入门系列&#xff1a; OpenCV 入门&#xff08;一&#xff09;—— OpenCV 基础 OpenCV 入门&#xff08;二&#xff09;—— 车牌定位 OpenCV 入门&#xff08;三&#xff09;—— 车牌筛选 OpenCV 入门&#xff08;四&#xff09;—— 车牌号识别 OpenCV 入门&#xf…...

C++基础-编程练习题2

文章目录 前言一、查找“支撑数”二、数组元素的查找三、爬楼梯四、数字交换五、找高于平均分的人 前言 C基础-编程练习题和答案 一、查找“支撑数” 【试题描述】 在已知一组整数中&#xff0c; 有这样一种数非常怪&#xff0c; 它们不在第一个&#xff0c; 也不在最后一个&…...

Linux下GraspNet复现流程

Linux&#xff0c;Ubuntu中GraspNet复现流程 文章目录 Linux&#xff0c;Ubuntu中GraspNet复现流程1.安装cuda和cudnn2.安装pytorch3.编译graspnetAPIReference &#x1f680;非常重要的环境配置&#x1f680; ubuntu 20.04cuda 11.0.1cudnn v8.9.7python 3.8.19pytorch 1.7.0…...

Linux——MySQL5.7编译安装、RPM安装、yum安装

文章目录 Linux——MySQL5.7编译安装、RPM安装、yum安装一、编译安装二、RPM安装三、yum安装 Linux——MySQL5.7编译安装、RPM安装、yum安装 卸载mysql # 查看是否安装了mysql [rootcsq ~]# rpm -qa |grep mysql mysql-community-server-5.7.36-1.el7.x86_64 mysql-community-c…...

LSTM递归预测(matlab)

LSTM&#xff08;长短期记忆&#xff09;递归预测原理及步骤详解如下&#xff1a; LSTM递归预测&#xff08;matlab&#xff09;代码获取戳此处代码获取戳此处代码获取戳此处 一、LSTM递归预测原理 LSTM是一种特殊的递归神经网络&#xff08;RNN&#xff09;&#xff0c;它能够…...

计算机网络 备查

OSI 七层模型 七层模型协议各层实现的功能 简要 详细 TCP/IP协议 组成 1.传输层协议 TCP 2.网络层协议 IP 协议数据单元&#xff08;PDU&#xff09;和 封装 数据收发过程 数据发送过程 1. 2.终端用户生成数据 3.数据被分段&#xff0c;并加上TCP头 4.网络层添加IP地址信息…...

查看软件包依赖关系

列出软件包依赖文件列表 rpm -ql 命令用于列出已安装软件包的文件列表。它显示软件包中包含的文件及其对应的路径。 具体来说&#xff0c;-q 选项表示查询已安装的软件包&#xff0c;而 -l 选项表示列出软件包中的文件列表。 例如&#xff0c;如果要查看已安装的 nginx 软件…...

C++ 中 strcmp(a,b) 函数的用法

【C 中 strcmp(a,b) 函数的用法】 ● 若 len(a)>len(b)&#xff0c;则返回1。 ● 若 len(a)len(b)&#xff0c;则返回0。 ● 若 len(a)<len(b)&#xff0c;则返回-1。【C 中 strcmp(a,b) 函数的用法代码一】 #include <bits/stdc.h> using namespace std;int main…...

Servlet(一些实战小示例)

文章目录 一、实操注意点1.1 代码修改重启问题1.2 Smart Tomcat的日志1.3 如何处理错误 一. 抓自己的包二、构造一个重定向的响应&#xff0c;让页面重定向到百度主页三、让服务器返回一个html数据四、表白墙4.1 约定前后端数据4.2 前端代码4.3 后端代码4.4 保存在数据库的版本…...

【JVM】垃圾回收机制(Garbage Collection)

目录 一、什么是垃圾回收&#xff1f; 二、为什么要有垃圾回收机制&#xff08;GC&#xff09;&#xff1f; 三、垃圾回收主要回收的内存区域 四、死亡对象的判断算法 a&#xff09;引用计数算法 b&#xff09;可达性分析算法 五、垃圾回收算法 a&#xff09;标记-清除…...

C++中的priority_queue模拟实现

目录 priority_queue模拟实现 priority_queue类定义 priority_queue构造函数 priority_queue类push()函数 priority_queue类pop()函数 priority_queue类size()函数 priority_queue类empty()函数 priority_queue类top()函数 仿函数与priority_queue类模拟实现 仿函数 …...

【Kafka】1.Kafka核心概念、应用场景、常见问题及异常

Kafka 是一个分布式流处理平台&#xff0c;最初由 LinkedIn 开发&#xff0c;后成为 Apache 软件基金会的顶级项目。 它主要用于构建实时数据管道和流式应用程序。它能够高效地处理高吞吐量的数据&#xff0c;并支持消息发布和订阅模型。Kafka 的主要用途包括实时分析、事件源、…...

LTE的EARFCN和band之间的对应关系

一、通过EARFCN查询对应band 工作中经常遇到只知道EARFCN而需要计算band的情况&#xff0c;因此查了相关协议&#xff0c;找到了他们之间的对应关系&#xff0c;可以直接查表&#xff0c;非常方便。 具体见&#xff1a; 3GPP TS 36.101 5.7.3 Carrier frequency and EAR…...

解决问题:Docker证书到期(Error grabbing logs: rpc error: code = Unknown)导致无法查看日志

问题描述 Docker查看日志时portainer报错信息如下&#xff1a; Error grabbing logs: rpc error: code Unknown desc warning: incomplete log stream. some logs could not be retrieved for the following reasons: node klf9fdsjjt5tb0w4hxgr4s231 is not available报错…...

【C语言】预处理器

我们在开始编写一份程序的时候&#xff0c;从键盘录入的第一行代码&#xff1a; #include <stdio.h>这里就使用了预处理&#xff0c;引入头文件。 C预处理器不是编译器的组成部分&#xff0c;但是它是编译过程中一个单独的步骤。简言之&#xff0c;C预处理器只不过是一…...

QtConcurrent::run操作界面ui的注意事项(2)

前面的“QtConcurrent::run操作界面ui的注意事项&#xff08;1&#xff09;”&#xff0c;末尾说了跨线程的问题&#xff0c;引出了Qt千好万好&#xff0c;就是跨线程不好。下面是认为的最简单的解决办法&#xff1a;使用QMetaObject::invokeMethod&#xff08;相比较信号-槽&a…...

黑马程序员HarmonyOS4+NEXT星河版入门到企业级实战教程笔记

HarmonyOS NEXT是纯血鸿蒙&#xff0c;鸿蒙原生应用&#xff0c;彻底摆脱安卓 本课程是基于harmony os4的&#xff0c;与next仅部分api有区别 套件 语言&框架 harmony os design ArkTs 语言 ArkUI 提供各种组件 ArkCompiler 方舟编译器 开发&测试 DevEco Studio 开发…...

嵌入式全栈开发学习笔记---C语言笔试复习大全13(编程题9~16)

目录 9.查找字符数组中字符位置&#xff08;输入hello e 输出2&#xff09;&#xff1b; 10、查找字符数组中字符串的位置&#xff08;输入hello ll 输出3&#xff09;&#xff1b; 11、字符数组中在指定位置插入字符&#xff1b;&#xff08;输入hello 3 a 输出heallo…...

https网站安全证书的作用与免费申请办法

HTTPS网站安全证书&#xff0c;也称为SSL证书&#xff0c;网站通过申请SSL证书将http协议升级到https协议 HTTPS网站安全证书的作用 1 增强用户信任&#xff1a;未使用https协议的网站&#xff0c;用户访问时浏览器会有“不安全”弹窗提示 2 提升SEO排名&#xff1a;搜索引擎…...

自动化测试再升级,大模型与软件测试相结合

近年来&#xff0c;软件行业一直在迅速发展&#xff0c;为了保证软件质量和提高效率&#xff0c;软件测试领域也在不断演进。如今&#xff0c;大模型技术的崛起为软件测试带来了前所未有的智能化浪潮。 软件测试一直是确保软件质量的关键环节&#xff0c;但传统的手动测试方法存…...

centos7 基础命令

一、基础信息&#xff1a; 查看IP地址&#xff1a; ip add 重启网络服务&#xff1a; service network restart 查看网卡配置&#xff1a; cat /etc/sysconfig/network-scripts/ifcfg-ens33 启动网卡: ifup ens33 查看内存: free -m 查看CPU&#xff1a; cat /proc/cpuin…...

【设计模式】之单例模式

系列文章目录 【设计模式】之责任链模式【设计模式】之策略模式【设计模式】之模板方法模式 文章目录 系列文章目录 前言 一、什么是单例模式 二、如何使用单例模式 1.单线程使用 2.多线程使用&#xff08;一&#xff09; 3.多线程使用&#xff08;二&#xff09; 4.多线程使用…...

3d模型实体显示有隐藏黑线?---模大狮模型网

在3D建模和设计领域&#xff0c;细节决定成败。然而&#xff0c;在处理3D模型时&#xff0c;可能会遇到模型实体上出现隐藏黑线的问题。这些黑线可能影响模型的视觉质量和呈现效果。因此&#xff0c;了解并解决这些隐藏黑线的问题至关重要。本文将探讨隐藏黑线出现的原因&#…...

共享购:全新消费模式的探索与实践

在消费模式日益创新的今天&#xff0c;共享购模式以其独特的消费与收益双重机制&#xff0c;吸引了众多消费者的目光。这一模式不仅为消费者带来了全新的购物体验&#xff0c;也为商家和平台带来了可观的收益。 一、会员体系&#xff1a;共享购的基石 在共享购模式下&#xff…...

Java集合 总结篇(全)

Java集合 集合底层框架总结 List 代表的有序&#xff0c;可重复的集合。 ArrayList -- 数组 -- 把他想象成C中的Vector就可以&#xff0c;当数组空间不够的时候&#xff0c;会自动扩容。 -- 线程不安全 LinkedList -- 双向链表 -- 可以将他理解成一个链表&#xff0c;不支持…...

Dubbo分层架构深度解析

引言 Dubbo作为一款备受欢迎的高性能、轻量级的Java RPC框架&#xff0c;在现代分布式系统中扮演着至关重要的角色。随着互联网行业的快速发展&#xff0c;服务间的通信变得越来越频繁&#xff0c;这也使得对于高效、可靠的远程通信方案的需求变得愈发迫切。在这样的背景下&am…...

LocalDate 数据库不兼容问题,因为LocalDate 是 long 类型的

我今天遇到一报错&#xff1a; SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession316f9272] was not registered for synchronization because synchronization is not active JDBC Connection [HikariProxyConnection2127597288 wrapping com.mysql.cj.jdbc…...

RVM(相关向量机)、CNN_RVM(卷积神经网络结合相关向量机)、RVM-Adaboost(相关向量机结合Adaboost)

当我们谈到RVM&#xff08;Relevance Vector Machine&#xff0c;相关向量机&#xff09;、CNN_RVM&#xff08;卷积神经网络结合相关向量机&#xff09;以及RVM-Adaboost&#xff08;相关向量机结合AdaBoost算法&#xff09;时&#xff0c;每种模型都有其独特的原理和结构。以…...