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

【Hibench 】完成 HDP-Spark 性能测试

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁

🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁

🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

目录

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁

一、HiBench简介

二、版本和依赖

三、下载和编译

3.1 下载安装包

3.2 HiBench编译

3.3 Hibench目录说明

四、修改配置文件

4.1 hibench.conf

4.2 hadoop.conf

4.3 spark.conf

五、运行测试

5.1 准备数据

5.2 运行测试

5.3 report结果查询

六、遇到的问题


一、HiBench简介


HiBench是Intel推出的一个大数据基准测试工具,可以帮助评估不同的大数据框架在速度、吞吐量和系统资源利用方面评估不同的大数据框架的性能表现。它包含一组Hadoop、Spark和流式WorkLoads,包括Sort、WordCount、TeraSort、Repartition、Sleep、SQL、PageRank、Nutch索引、Bayes、Kmeans、NWeight和增强型DFSIO等。它还包含几个用于Spark Streaming、Flink、Storm和Gearpump的流式WorkLoads。

项目GitHub地址:GitHub - Intel-bigdata/HiBench: HiBench is a big data benchmark suite.


二、版本和依赖


软件

版本

hadoop

2.10(官方要求Apache Hadoop 3.0.x, 3.1.x, 3.2.x, 2.x, CDH5, HDP)

maven

3.8.5

java

8

python

2.7.5

HDP 集群版本信息

Java 和Maven 环境配置


三、下载和编译


3.1 下载安装包


cd /opt
下载并解压wget https://github.com/Intel-bigdata/HiBench/archive/v7.1.1.tar.gz
tar -zxvf v7.1.1.tar.gz
cd HiBench-7.1.1/

3.2 HiBench编译


HiBench编译支持如下几种方式:

  • Build All
  • Build a specific framework benchmark
  • Build a single module
  • Build Structured Streaming

在进行Hibench的时候可以指定Spark和Scala的版本,通过如下参数指定

具体参考官网: https://github.com/Intel-bigdata/HiBench/blob/master/docs/build-hibench.md


# 执行全部编译 编译所有框架及模块
./bin/build_all.sh

3.3 Hibench目录说明


  • autogen:主要用于生成测试数据的源码目录
  • bin:测试脚本放置目录
  • common:公共依赖源码目录
  • conf:配置文件目录(Hibench/Hadoop/Spark等配置文件存放目录)
  • docker:docker 方式部署
  • flinkbench:Flink框架源码目录
  • gearpumpbench:gearpumpbench框架源码目录
  • hadoopbench:hadoop框架源码目录
  • sparkbench:spark框架的源码目录
  • stormbench:storm框架的源码目录

四、修改配置文件


4.1 hibench.conf


hibench.conf 配置数据集大小和并行度

hibench.scale.profile                tiny
# Mapper number in hadoop, partition number in Spark
hibench.default.map.parallelism         8# Reducer nubmer in hadoop, shuffle partition number in Spark
hibench.default.shuffle.parallelism     8
  • hibench.scale.profile:主要配置HiBench测试的数据规模,可自定义配置;
  • hibench.default.map.parallelism:主要配置MapReduce的Mapper数量;
  • hibench.default.shuffle.parallelism:配置Reduce数量;

HiBench的默认数据规模有:tiny, small, large, huge, gigantic andbigdata,在这几种数据规模之外还可以自己指定数据量。

4.2 hadoop.conf


hadoop.conf,配置hadoop集群的相关信息(如下为HDP集群配置)

cp   conf/hadoop.conf.template conf/hadoop.confvim conf/hadoop.conf
# Hadoop home
hibench.hadoop.home     /usr/hdp/3.1.4.0-315/hadoop# The path of hadoop executable
hibench.hadoop.executable     ${hibench.hadoop.home}/bin/hadoop# Hadoop configraution directory
hibench.hadoop.configure.dir  ${hibench.hadoop.home}/etc/hadoop# The root HDFS path to store HiBench data
hibench.hdfs.master       hdfs://winner# Hadoop release provider. Supported value: apache, cdh5, hdp
hibench.hadoop.release    hdp

hibench.hdfs.master 可以在 core-site.xml中的 fs.defaultFS 找到,开启了NameNode高可用 。

4.3 spark.conf


spark.conf,配置hadoop集群的相关信息

cp   conf/spark.conf.template  conf/spark.conf
vim  conf/spark.conf# Spark home
hibench.spark.home      /usr/hdp/3.1.4.0-315/spark2

可自定义数据规模

conf/workloads/micro/terasort.conf
#datagen
hibench.terasort.tiny.datasize			32000
hibench.terasort.small.datasize			3200000
hibench.terasort.large.datasize			32000000
hibench.terasort.huge.datasize			320000000
hibench.terasort.gigantic.datasize		3200000000
hibench.terasort.bigdata.datasize		6000000000hibench.workload.datasize		${hibench.terasort.${hibench.scale.profile}.datasize}
## 增加自定义的数据量
#hibench.terasort.myscale.datasize 5242880
#hibench.workload.datasize               ${hibench.terasort.${hibench.scale.profile}.datasize}# export for shell script
hibench.workload.input			${hibench.hdfs.data.dir}/Terasort/Input
hibench.workload.output			${hibench.hdfs.data.dir}/Terasort/Output

在 hibench.conf 中 设置 hibench.scale.profile 为 myscale ,默认为 tiny


五、运行测试


5.1 准备数据


HDP 集群开启了 kerberos , 运行脚本使用了 kerberos 用户。如下生成一个WordCount测试数据集。

bin/workloads/micro/wordcount/prepare/prepare.sh

5.2 运行测试


将WordCount基准测试数据集生成后,就可以执行基准测试了,对于WordCount基准测试选择了Spark 运行以下命令即可:

bin/workloads/micro/terasort/spark/run.sh

通过HDFS可以看到/HiBench目录下生成的各个用例生成的测试数据及用例结果

YARN 可以到 任务 ScalaWordCount

5.3 report结果查询


[root@hdp105 HiBench-7.1.1]# cat    report/hibench.report 
Type         Date       Time     Input_data_size      Duration(s)          Throughput(bytes/s)  Throughput/node     
ScalaSparkTerasort 2023-08-16 20:07:22 3200000              46.503               68812                17203               
ScalaSparkTerasort 2023-08-16 20:09:26 3200000              38.856               82355                20588               
ScalaSparkWordcount 2023-08-17 13:29:46 37181                66.082               562                  140  

ScalaSparkWordcount 数据大小37181 ,运行时间66.082 ·。 每个用例的测试数据量、运行耗时及吞吐量。如下是生成的日志和统计的指标文件:

即将 wordCount 使用Spark 运行后的 monitor.html 下载到本地 拖到浏览器

 /opt/HiBench-7.1.1/report/wordcount/spark/monitor.html

图表展示如下:

Summarized Network throughputs & Packer-per-sedonds

Summarized Memory usage

Summarized Disk throughput & IOPS


六、遇到的问题


build 的时候遇到了 插件下载不了的问题 ,问题如下:

[INFO] mahout 7.1.1 ....................................... FAILURE [  7.767 s]
[INFO] PEGASUS: A Peta-Scale Graph Mining System 2.0-SNAPSHOT SKIPPED
[INFO] nutchindexing 7.1.1 ................................ SKIPPED
[INFO] stormbench 7.1.1 ................................... SKIPPED
[INFO] stormbench-streaming 7.1.1 ......................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:07 min
[INFO] Finished at: 2023-08-17T18:56:25+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.googlecode.maven-download-plugin:download-maven-plugin:1.2.0:wget (extra-download-execution) on project mahout: IO Error: Could not get content -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :mahout

报错截图如下:

修改pom文件

hadoopbench/mahout/pom.xml 

解决方式: 就是 把插件下载build 部分删除 ,我不用你就行了, 无非构建 慢点。


参考链接:HiBench 7.x 使用问题整理

HiBench大数据基准测试使用 - 知乎

如何使用HiBench进行基准测试_51CTO博客_基准测试

相关文章:

【Hibench 】完成 HDP-Spark 性能测试

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的…...

【C++奇遇记】内存模型

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集 数据库专栏 初阶数据结构 &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如…...

Debootstrap 教程

文章目录 Debootstrap 教程安装 debootstrap使用 debootstrap运行 debootstrap进入新的系统结束语 Debootstrap 教程 debootstrap 是一个用于在 Debian-based 系统上创建一个基本的 Debian 系统的工具。它可以用于创建 chroot 环境、容器或者为新的系统安装做准备。 安装 deb…...

MySQL之InnoDB引擎

MySQL之InnoDB引擎 简介逻辑存储结构InnoDB架构内存架构缓冲池LRU List、Free List和Flush List更改缓冲区&#xff08;在5.x版本之前叫做插入缓冲区&#xff09;自适应hash日志缓冲区 磁盘架构System TablespaceFile Per Table TabspaceGeneral TablespceUndo TablespaceTemp …...

API自动化管理: 从繁琐到轻松

在数字化时代&#xff0c;API&#xff08;应用程序编程接口&#xff09;在软件开发中扮演着至关重要的角色。然而&#xff0c;API管理可能会变得十分繁琐&#xff0c;耗费大量时间和资源。那么&#xff0c;如何实现API自动化管理&#xff0c;从而节省时间、提高效率&#xff0c…...

Databend 开源周报第 107 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 理解连接参数 …...

计算机网络参考模型

目录 ​编辑 简介 1.分层模型 1.1 分层的思想 1.2 OSI参考模型与TCP/IP协议簇 1.OSI 参考模型 2.TCP/IP 参考模型 简介 本章大家将学习网络参考模型的概念&#xff0c;对干参考模型的讲解将会贯穿网络课程的始终&#xff0c;因为它是理解网络这个全新世界的关键所在&…...

【React基础全篇】

文章目录 一、关于 React二、脚手架2.1 create-react-app 脚手架的使用2.2 项目目录解析2.3 抽离配置文件2.4 webpack 二次封装2.4.1 集成 css 预处理器2.4.2 配置解析别名 2.5 setupProxy 代理 三、JSX3.1 jsx 语法详解3.2 React.createElement 四、组件定义4.1 类组件4.2 函数…...

如何使用 Vue.js 侦听嵌套数据?

new Vue({el: "#app",data: {target: {list: [],},},watch: {"target.list": {handler(newVal, oldVal) {},deep: true,},} }); 给target的list属性增加侦听器&#xff0c;需要在watch中使用字符串的写法 "target.list" 来标记侦听的内容 han…...

Spring AOP详解

Spring AOP是Spring框架中的一个模块&#xff0c;它允许开发人员使用面向切面编程(AOP)的思想来解耦系统的不同层次。 Spring AOP的核心概念是切面(aspect)、连接点(join point)、通知(advice)、切点(pointcut)和引入(introduction)。 切面(aspect)&#xff1a;切面是一个类, 它…...

linux iptables安全技术与防火墙

linux iptables安全技术与防火墙 1、iptables防火墙基本介绍1.1netfilter/iptables关系1.2iptables防火墙默认规则表、链结构 2、iptables的四表五链2.1四表2.2五链2.3四表五链总结2.3.1 规则链之间的匹配顺序2.3.2 规则链内的匹配顺序 3、iptables的配置3.1iptables的安装3.2i…...

TCP性能机制

延迟应答 为什么有延迟应答 发送方如果长时间没有收到ACK应答&#xff0c;则会触发超时重传机制&#xff0c;重新发送数据包。但如果接收数据的主机立刻返回ACK应答, 这时候返回的窗口可能比较小&#xff0c;发送方一次只能发少量数据&#xff0c;效率较低。 举个例子理解一…...

qt信号槽同步问题

目录 信号槽&#xff1a; 注意事项&#xff1a; 具体例子&#xff1a; 线程安全问题的例子&#xff1a; 信号槽&#xff1a; 在Qt编程中&#xff0c;信号&#xff08;Signal&#xff09;和槽&#xff08;Slot&#xff09;是一种用于在对象之间进行通信的机制。信号用于发出…...

七夕特惠-8折抢购,从速

在七夕这个特殊的日子&#xff0c;我们推出了8折优惠活动&#xff0c;具体如下&#xff1a; 不管是充值会员&#xff0c;还是购买套路文章&#xff0c;一律享受8折优惠&#xff0c;活动截止时间为2023年8月24日12时。 甚至还有免费抽奖活动 兑奖方式&#xff0c;复制兑奖码…...

[NLP]LLM--transformer模型的参数量

1. 前言 最近&#xff0c;OpenAI推出的ChatGPT展现出了卓越的性能&#xff0c;引发了大规模语言模型(Large Language Model, LLM)的研究热潮。大规模语言模型的“大”体现在两个方面&#xff1a;模型参数规模大&#xff0c;训练数据规模大。以GPT3为例&#xff0c;GPT3的参数量…...

5 Python的面向对象编程

概述 在上一节&#xff0c;我们介绍了Python的函数&#xff0c;包括&#xff1a;函数的定义、函数的调用、参数的传递、lambda函数等内容。在本节中&#xff0c;我们将介绍Python的面向对象编程。面向对象编程&#xff08;Object-Oriented Programming, 即OOP&#xff09;是一种…...

卷积神经网络——上篇【深度学习】【PyTorch】【d2l】

文章目录 5、卷积神经网络5.1、卷积5.1.1、理论部分5.1.2、代码实现5.1.3、边缘检测 5.2、填充和步幅5.2.1、理论部分5.2.2、代码实现 5.3、多输入多输出通道5.3.1、理论部分5.3.2、代码实现 5.4、池化层 | 汇聚层5.4.1、理论部分5.4.2、代码实现 5、卷积神经网络 5.1、卷积 …...

【从零学习python 】54. 内存中写入数据

文章目录 内存中写入数据StringIOBytesIO进阶案例 内存中写入数据 除了将数据写入到一个文件以外&#xff0c;我们还可以使用代码&#xff0c;将数据暂时写入到内存里&#xff0c;可以理解为数据缓冲区。Python中提供了StringIO和BytesIO这两个类将字符串数据和二进制数据写入…...

速通蓝桥杯嵌入式省一教程:(九)AT24C02芯片(E2PROM存储器)读写操作与I2C协议

AT24C02芯片&#xff08;又叫E2PROM存储器、EEPROM存储器&#xff09;&#xff0c;是一种通过I2C(IIC)协议通信的掉电保存存储器芯片&#xff0c;其内部含有256个8位字节。在介绍这款芯片之前&#xff0c;我们先来粗略了解一下I2C协议。 I2C总线是一种双向二线制的同步串行总线…...

负载均衡:优化性能与可靠性的关键

在现代互联网时代&#xff0c;数以万计的用户访问着各种在线服务&#xff0c;从即时通讯、社交媒体到电子商务和媒体流媒体&#xff0c;无不需要应对海量的请求和数据传输。在这个高并发的环境下&#xff0c;负载均衡成为了关键的技术&#xff0c;它旨在分散工作负载&#xff0…...

T113-S3-TCA6424-gpio扩展芯片调试

目录 前言 一、TCA6424介绍 二、原理图连接 三、设备树配置 四、内核配置 五、gpio操作 总结 前言 TCA6424是一款常用的GPIO&#xff08;通用输入输出&#xff09;扩展芯片&#xff0c;可以扩展微控制器的IO口数量。在T113-S3平台上&#xff0c;使用TCA6424作为GPIO扩展芯…...

奥威BI数据可视化工具:个性化定制,打造独特大屏

每个人都有自己独特的审美&#xff0c;因此即使是做可视化大屏&#xff0c;也有很多人希望做出不一样的报表&#xff0c;用以缓解审美疲劳的同时提高报表浏览效率。因此这也催生出了数据可视化工具的个性化可视化大屏制作需求。 奥威BI数据可视化工具&#xff1a;个性化定制&a…...

13 秒插入 30 万条数据,批量插入!

数据库表 CREATE TABLE t_user (id int(11) NOT NULL AUTO_INCREMENT COMMENT 用户id,username varchar(64) DEFAULT NULL COMMENT 用户名称,age int(4) DEFAULT NULL COMMENT 年龄,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COMMENT用户信息表; User实体 /*** …...

Nginx代理转发地址不正确问题

使用ngix前缀去代理转发一个地址&#xff0c;貌似成功了&#xff0c;但是进不到正确的页面&#xff0c;能够访问&#xff0c;但是一直404远处出来nginx会自动拼接地址在后面 后面才知道要将这段代码加上去&#xff0c;去除前缀转发...

HyperMotion高度自动化云迁移至华为HCS8.1解决方案

项目背景 2020 年以来&#xff0c;金融证券已经成为信创落地最快的领域。2021 年证监会发布的《证券期货业科技发展十四五规划》中&#xff0c;将“加强信创规划与实施”作为证券行业重点建设任务之一。为了符合国家信创标准&#xff0c;某证券企业计划将网管系统、呼叫中心管…...

pbootcms系统安全防护设置大全

PbootCMS系统简介 PbootCMS是全新内核且永久开源免费的PHP企业网站开发建设管理系统&#xff0c;是一套高效、简洁、 强悍的可免费商用的PHP CMS源码&#xff0c;能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签&#xff0c;只要懂HTML就可快速开发企业网站…...

【环境】docker时间与宿主同步

1.容器创建后 docker cp /etc/localtime 容器名:/etc/2.容器创建时 加入 -v /ect/localtime/:/etc/localtime:ro参考链接...

亮点!视频云存储/安防监控视频智能分析平台睡岗离岗检测

在生产过程中&#xff0c;未经领导允许的擅自离岗、睡岗会带来很多的潜在危害。TSINGSEE青犀推出的视频云存储/安防监控视频智能分析平台得睡岗离岗检测根据AI视频分析技术建立人工智能算法&#xff0c;对视频画面展开分析与识别。自动识别出人员睡岗、离岗、玩手机与抽烟等动作…...

编程锦囊妙计——快速创建本地Mock服务

点击上方&#x1f446;蓝色“Agilean”&#xff0c;发现更多精彩。 前情提要 在本系列上一篇文章《全文干货&#xff1a;打破前后端数据传递鸿沟&#xff0c;高效联调秘笈》中我们分享了使用Zod这一运行时类型校验库来对后端服务响应结果进行验证达到增加项目质量的方式。 这次…...

简单认识镜像底层原理详解和基于Docker file创建镜像

文章目录 一、镜像底层原理1.联合文件系统(UnionFS)2.镜像加载原理3.为什么Docker里的centos的大小才200M? 二、Dockerfile1.简介2.Dockerfile操作常用命令 三、创建Docker镜像1.基于已有镜像创建2.基于本地模板创建3.基于Dockerfile创建4.Dockerfile多阶段构建镜像 一、镜像底…...

加速乐(__jsl_clearance_s)动态cookie生成分析实战

文章目录 一、写在前面二、抓包分析三、逆向分析 一、写在前面 加速乐&#xff08;JSL&#xff09;是阿里推出的一项反爬虫服务&#xff0c;其生成cookie的原理基于浏览器的行为特征 我们知道普通网站生成cookie是在请求时生成&#xff0c;而它先生成cookie&#xff0c;然后向服…...

启动Vue项目踩坑记录

前言 在启动自己的Vue项目时&#xff0c;遇到一些报错&#xff0c;当时很懵&#xff0c;解决了以后豁然开朗&#xff0c;特写此博客记录一下。 一、<template>里多加了个div标签 [vite] Internal server error: At least one <template> or <script> is req…...

vue-pc上传优化-uni-app上传优化

vue-pc上传优化 当我们使用自己搭建的文档服务器上传图片时候&#xff0c;在本地没问题&#xff0c;上线上传会比较慢 这时候我们最简单的方法就是写一个加载组件&#xff0c;上传之前打开组件&#xff0c;掉完接口关闭组件 或者不想写直接使用element的loading写一个遮罩层加…...

【计算机视觉|生成对抗】StackGAN:使用堆叠生成对抗网络进行文本到照片逼真图像合成

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 链接&#xff1a;[1612.03242] StackGAN: Text to Photo-realistic Image Synthesis…...

跟随角色镜头时,解决地图黑线/白线缝隙的三种方案

下面一共三个解决方案&#xff0c;这里我推荐第二个方案解决&#xff0c;因为够快速和简单。 现象&#xff1a; 解决方案一&#xff1a; 参考【Unity2D】去除地图中的黑线_unity选中后有线_香菇CST的博客-CSDN博客&#xff0c;博主解释是因为抗锯齿采样导致的问题。 具体到这…...

redis7高级篇2 redis的BigKey的处理

一 Bigkey的处理 1.1 模拟造数 1.截图 2.代码 &#xff1a;使用pipe 批量插入10w的数据量 cat /root/export/monidata.txt | redis-cli -h 127.0.0.1 -a 123456 -p 6379 --pipe [rootlocalhost export]# for((i1;i<10*10;i)); do echo "set k$i v$i" >>…...

启英泰伦通话降噪方案,采用深度学习降噪算法,让通话更清晰

生活中的通话应用场景无处不在&#xff0c;如电话、对讲机、远程会议、在线教育等。普遍存在的问题是环境噪音、干扰声导致通话声音不清晰&#xff0c;语音失真等。 为了解决这一问题&#xff0c;启英泰伦基于自适应线性滤波联合非线性滤波的回声消除方案和基于深度学习的降噪…...

将SonarLint集成到Git

1、搭建SonarQube服务器 下载SonarQube安装包 访问SonarQube官网&#xff08;https://www.sonarqube.org/downloads/&#xff09;下载最新版本的SonarQube Community Edition。解压安装包 将下载的压缩包解压到一个目录&#xff0c;例如&#xff1a;D:\sonarqube-community-7.…...

【Jenkins】rpm方式安装Jenkins(2.401,jdk版本17)

目录 【Jenkins】rpm方式安装Jenkins 1、主机初始化 2、软件要求 RPM包安装的内容 配置文件说明 3、web操作 【Jenkins】rpm方式安装Jenkins 1、主机初始化 [rootlocalhost ~]# hostname jenkins[rootlocalhost ~]# bash[rootjenkins ~]# systemctl stop firewalld[roo…...

vue3跳转统一页面,path一样,传递的参数不一样时页面不刷新

vue3中当路由一样&#xff0c;参数quary不一样的跳转不刷新 当路由的path都是一样的&#xff0c;quary不一样&#xff0c;在跳转的时候&#xff0c;不会执行onMounted等方法&#xff0c;页面也就不会刷新。 方法&#xff1a; 修改router-view&#xff0c;在app.vue页面给标签…...

升级还是不升级?iPhone 15和iPhone 14 Plus性能比较

预览iPhone 15 Pro Max与三星Galaxy S23 Ultra之战是有正当理由的。显然,三星的旗舰智能手机为2023年的所有其他旗舰产品定下了基调——由于其超长的电池寿命和一流的摄像头,证明了它是最受欢迎的产品。 毫不奇怪,Galaxy S23 Ultra不仅是最好的照相手机之一,也是花钱能买到…...

关于LED电子显示屏幕的显示功能

因为LED显示屏的发光颜色和发光效率与制作LED的材料和工艺相关&#xff0c;目前广泛采用的有红、绿、蓝三种颜色的LED。这些LED的独特之处在于它们工作时需要的电压极低&#xff08;仅1.5-3V&#xff09;&#xff0c;能够主动发光&#xff0c;并且具有一定的亮度。这亮度可以通…...

计算机视觉--利用HSV和YIQ颜色空间处理图像噪声

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天我们将利用HSV和YIQ颜色空间处理图像噪声。在本次实验中&#xff0c;我们使用任意一张图片&#xff0c;通过RGB转HSV和YIQ的操作&#xff0c;加入了椒盐噪声并将其转换回RGB格式&#xff0c;最终实现对图像的噪声处理…...

Android Studio中引入MagicIndicator

1.github中下载文件 GitHub - hackware1993/MagicIndicator: A powerful, customizable and extensible ViewPager indicator framework. As the best alternative of ViewPagerIndicator, TabLayout and PagerSlidingTabStrip —— 强大、可定制、易扩展的 ViewPager 指示器框…...

webrtc学习(六)重要信令级时序图

一.四个重要信令 1.用户登录信令 SignIn 2..用户登出信令 SignOut 3..用户等待信令 wait信令是指从服务器的消息队列中获取暂存的中转消息&#xff0c;比如说sdp消息&#xff0c;对于信令服务器来说&#xff0c;他没有办法给用户推送消息&#xff0c;只能是用户推送消息给…...

Leetcode刷题笔记--Hot21-30

1--全排列&#xff08;46&#xff09; 主要思路1&#xff1a; 经典全排列&#xff0c;每次枚举每一位时&#xff0c;重头开始枚举&#xff0c;用一个访问数组记录当前已经被访问过的数字&#xff1b; 这道题不包含重复数字&#xff0c;所以不需要进行树层上的剪枝&#xff1b; …...

【MyBatis八股】MyBatis面试题

目录 MyBatis是什么&#xff1f;Mybaits的优缺点&#xff1f;为什么说Mybatis是半自动ORM映射工具&#xff1f;它与全自动的区别在哪里&#xff1f;Hibernate 和 MyBatis 的区别&#xff1f;JDBC编程有哪些不足之处&#xff0c;MyBatis是如何解决这些问题的&#xff1f;MyBatis…...

Apache Hudi初探(二)(与flink的结合)--flink写hudi的操作(JobManager端的提交操作)

背景 在Apache Hudi初探(一)(与flink的结合)中&#xff0c;我们提到了Pipelines.hoodieStreamWrite 写hudi文件,这个操作真正写hudi是在Pipelines.hoodieStreamWrite方法下的transform(opName("stream_write", conf), TypeInformation.of(Object.class), operatorFa…...

Office ---- excel ---- 怎么批量设置行高

解决方法&#xff1a; 调整行高即可...

Wlan——STA上线流程与802.11MAC帧讲解

目录 802.11MAC帧基本概念 802.11帧结构 802.11MAC帧的分类 管理帧 控制帧 数据帧 STA接入无线网络流程 信号扫描—管理帧 链路认证—管理帧 用户关联—管理帧 用户上线 802.11MAC帧基本概念 802.11协议在802家族中的角色位置 其中802.3标准属于以太网的一种帧格式…...