揭秘视频音画质量的神秘面纱:探索几种独到的分析方式

这篇具有很好参考价值的文章主要介绍了揭秘视频音画质量的神秘面纱:探索几种独到的分析方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  大家好:

    我是烤鸭。今年是AI元年,最近sora更是火的不行。正好最近在搞视频质量分析,寻思写篇文章。毕竟sora生成的视频还需要评判标准,我要写的是关于视频质量分析的方式,主要分为有参考的客观打分和无参考的客观打分。

质量分析算法对比(有参考的客观打分)

PSNR(Peak Signal Noise Rate)-峰值信噪比

一、介绍

PSNR(Peak Signal to Noise Ratio)的中文全称为峰值信噪比,是一种评价图像的客观标准。PSNR的值越大,就代表失真越少。它主要用于衡量图像的噪声水平和图像质量,可以用来评估图像处理算法的性能。通常使用PSNR来测量已经被压缩的重构图像的质量

PSNR的计算方法基于两个关键图像:参考图像(或原始图像)和失真图像(或处理后的图像)。计算PSNR的步骤如下:

  1. 将参考图像和失真图像都转换为灰度图像。
  2. 分别计算两个图像的均方根误差(RMSE-Root Mean Square Error)或均方误差(MSE-Mean Square Error)。
  3. 使用RMSE或MSE计算PSNR。PSNR的计算公式为:PSNR = 10 * log10((2n-1)2 / MSE),其中n是每个采样值的比特数。

优缺点:PSNR是最普遍,最广泛使用的评鉴画质的客观量测法,不过许多实验结果都显示,PSNR的分数无法和人眼看到的视觉品质完全一致,有可能PSNR较高者看起来反而比PSNR较低者差。这是因为人眼的视觉对于误差的敏感度并不是绝对的,其感知结果会受到许多因素的影响而产生变化。

二、评价标准

PSNR值越大,表示图像的质量越好,一般来说:

(1)高于40dB:说明图像质量极好(即非常接近原始图像)

(2)30—40dB:通常表示图像质量是好的(即失真可以察觉但可以接受)

(3)20—30dB:说明图像质量差

(4)低于20dB:图像质量不可接受

三、几种实现方式

  1. 直接计算RGB三个通道的PSNR,然后取平均值:这种方法将图像分为红、绿、蓝三个通道,分别计算每个通道的PSNR,然后将三个通道的PSNR值取平均得到最终的PSNR。这种方法简单易行,但可能无法充分考虑到人眼对不同颜色通道的敏感度差异。
  2. 计算RGB三通道的MSE,然后再除以3:这种方法同样将图像分为红、绿、蓝三个通道,但它是先计算每个通道的MSE,然后将三个通道的MSE值取平均得到最终的MSE,再用这个MSE值计算PSNR。这种方法与第一种方法类似,但计算过程稍有不同。
  3. 将图片转化为YCbCr格式,只计算Y分量(亮度分量)的PSNR:YCbCr是一种颜色空间,其中Y分量表示亮度信息,Cb和Cr分量表示色度信息。这种方法认为人眼对亮度信息的敏感度高于色度信息,因此只计算Y分量的PSNR可以更准确地反映图像的主观质量。这种方法在一些图像处理应用中较为常见。
  4. 直接使用matlab的内置函数psnr(注意该函数将所有图像当成灰度图像处理)。

为了方便直观,举例采用了原始图片+噪点,以及灰度图片+噪点的方式,采用的是第二种方式。

四、举例

1、10000个噪点

原图和源噪点图 峰值信噪比: 33.08138577085233

灰度图和灰度噪点图 峰值信噪比: 32.62523071202829

psnr主要是用来看什么的,视频优化,opencv,音视频,人工智能,计算机视觉

2、100000个噪点

原图和源噪点图 峰值信噪比: 23.133652590310287

灰度图和灰度噪点图 峰值信噪比: 22.64785582861017

psnr主要是用来看什么的,视频优化,opencv,音视频,人工智能,计算机视觉

3、1000000个噪点

原图和源噪点图 峰值信噪比: 13.469804979763211

灰度图和灰度噪点图 峰值信噪比: 13.13512860718188psnr主要是用来看什么的,视频优化,opencv,音视频,人工智能,计算机视觉

SSIM(Structural SIMilarity),结构相似性

一、介绍

SSIM(Structural Similarity Index)是一种衡量两幅图像相似性的指标。它是基于图像组成的角度,将结构信息定义为独立于亮度、对比度的,反映场景中物体结构的属性。通过将失真建模为亮度、对比度和结构三个不同因素的组合,并使用均值作为亮度的估计,标准差作为对比度的估计,协方差作为结构相似程度的度量,可以计算出两幅图像之间的相似性分数。

SSIM的值范围为-1到1,当两张图像一模一样时,SSIM的值等于1。与传统的误差测量方法(如均方误差)相比,SSIM更具有鲁棒性和准确性,因为它基于人眼对图像的感知,能够更好地反映图像质量。

在深度学习中,SSIM常被用来评估生成模型(如GAN)生成的图像与真实图像之间的相似程度。此外,SSIM也常用于衡量图像失真前与失真后的相似性,以及图像去雨、图像去雾、图像和谐化等任务的效果评估。

总的来说,SSIM是一种重要的图像质量评估指标,它能够帮助我们更好地理解和比较不同图像之间的相似性和质量差异。

SSIM(Structural Similarity Index)的公式如下:

[ SSIM(x, y) = \frac{(2\mu_x\mu_y + C_1)(2\sigma_{xy} + C_2)}{(\mu_x^2 + \mu_y^2 + C_1)(\sigma_x^2 + \sigma_y^2 + C_2)} ]

其中:

  • ( x ) 和 ( y ) 是待比较的两幅图像。
  • ( \mu_x ) 和 ( \mu_y ) 分别是这两幅图像的均值。
  • ( \sigma_x^2 ) 和 ( \sigma_y^2 ) 分别是这两幅图像的方差。
  • ( \sigma_{xy} ) 是这两幅图像的协方差。
  • ( C_1 ) 和 ( C_2 ) 是为了避免分母为零而加入的常数。通常情况下,( C_1 = (K_1 \cdot L)^2 ) 和 ( C_2 = (K_2 \cdot L)^2 ),其中 ( L ) 是像素值的范围(例如,对于8位灰度图像,( L = 255 )),而 ( K_1 ) 和 ( K_2 ) 是小于1的常数,通常取值为0.01和0.03。

SSIM的计算可以分为三个步骤:

  1. 亮度比较:( l(x, y) = \frac{2\mu_x\mu_y + C_1}{\mu_x^2 + \mu_y^2 + C_1} )。这个部分衡量了两幅图像的亮度相似度。
  2. 对比度比较:( c(x, y) = \frac{2\sigma_x\sigma_y + C_2}{\sigma_x^2 + \sigma_y^2 + C_2} )。这个部分衡量了两幅图像的对比度相似度。
  3. 结构比较:( s(x, y) = \frac{\sigma_{xy} + C_2}{\sigma_x\sigma_y + C_2} )。这个部分衡量了两幅图像的结构相似度。

最终,SSIM的得分是这三个部分的乘积:

[ SSIM(x, y) = l(x, y) \cdot c(x, y) \ cdot s(x, y) ]

SSIM的值域是-1到1,其中1表示两幅图像完全相同,-1表示两幅图像完全不同。在实际应用中,由于像素值总是正值,SSIM的值通常在0到1之间,越接近1表示两幅图像越相似

二、使用场景

SSIM并不仅仅是一个简单的误差度量方法,而是基于人眼对图像的感知,能够更好地反映图像质量。因此,SSIM得分高的图像并不一定在像素级别上与原图像完全一致,但在人眼看来,它们的质量可能更接近。

此外,SSIM还可以用于评估图像处理算法(如去噪、去雾、超分辨率等)的效果,以及生成模型(如GAN)生成的图像与真实图像之间的相似程度。在这些应用中,SSIM得分通常用于比较不同算法或模型之间的性能差异

总的来说,SSIM是一种非常有用的图像质量评估指标,它综合考虑了图像的亮度、对比度和结构信息,能够更全面地反映图像之间的相似性。

三、实现方式

  1. 直接计算法:这是最直接的实现方式,直接按照SSIM的公式进行计算。首先计算两幅图像的均值、方差和协方差,然后代入公式进行计算。这种方法简单直观,但可能计算量较大。
  2. 滑动窗口法:为了降低计算量,可以采用滑动窗口法。将图像分块,对每个块计算SSIM,然后将所有块的SSIM值进行平均,得到最终的SSIM得分。这种方法可以减少计算量,但需要注意窗口大小和形状对结果的影响。
  3. 高斯加权法:在滑动窗口法的基础上,可以采用高斯加权来计算每个窗口的均值、方差和协方差。这样可以更好地考虑窗口内像素之间的关系,提高计算的准确性。
  4. 深度学习库实现:在深度学习中,常用的库如PyTorch、TensorFlow等通常都提供了SSIM的实现。这些实现通常经过优化,计算效率较高。使用这些库可以方便地实现SSIM计算,但需要注意参数的设置和结果的解释。

本例使用的是scikit-image库的structural_similarity方法,底层使用的是第二种方式。

四、举例

1、10000个噪点

SSIM 得分: 0.9184005340005957psnr主要是用来看什么的,视频优化,opencv,音视频,人工智能,计算机视觉

2、100000个噪点

SSIM 得分: 0.47344959251345375

psnr主要是用来看什么的,视频优化,opencv,音视频,人工智能,计算机视觉

3、1000000个噪点

SSIM 得分: 0.07643844461738225

psnr主要是用来看什么的,视频优化,opencv,音视频,人工智能,计算机视觉

VMAF(Video Multi-method Assessment Fusion),视频多方法评估融合

一、介绍

是一种由Netflix公司开发的视频质量评估指标。它利用大量的主观数据作为训练集,通过机器学习的手段将不同评估维度的算法进行“融合”,从而得到一个能准确反映主观意志的画质评价标准。

VMAF主要包括三种指标:Visual Quality Fidelity(VIF,视觉信息保真度)、Detail Loss Measure(DLM,细节丢失指标)和Temporal Information(TI,运动量指标)。这些指标综合评估视频的质量,包括清晰度、对比度、颜色饱和度等因素。

VMAF打分指令通常用于衡量视频的质量,特别是在视频编码、传输和处理过程中。该指令由视频处理软件或编码器提供,可以通过命令行或API调用来使用。指令会比较原始视频文件和编码后的视频文件之间的质量差异,并给出相应的分数。一般来说,VMAF分数越高表示视频质量越好,而分数越低则表示视频质量较差。

VMAF的优势在于其引入了深度学习机制,能更符合人眼视觉的视频评价标准。同时,VMAF通过为每一个基本的指标分配一定的权重,“融合”为一个最终指标,从而保留每一个基本指标的评价优势,得到更精确的分数。
地址:https://github.com/Netflix/vmaf

二、评分过程

VMAF的评分过程可以概括为以下几个主要步骤:

  1. 特征提取:首先,从视频中提取出多种特征,这些特征包括空间域特征(如VIF和DLM)和时间域特征(如TI)。这些特征通过特定的算法进行计算,用于衡量视频的质量。
  2. 权重分配:接下来,使用机器学习算法(如支持向量机,SVM)为每个特征分配一个权重。这些权重是根据大量的主观数据训练集得出的,以确保最终的评分能够准确反映人类对视频质量的感知和评价。
  3. 融合计算:将每个特征的得分与其对应的权重相乘,然后将所有加权得分相加,得到最终的VMAF评分。这个过程可以看作是一个加权平均的过程,其中每个特征对最终评分的贡献由其权重决定。

虽然没有一个明确的数学公式来表示VMAF的计算过程,但上述步骤描述了其基本思路和框架。实际的实现细节可能会因具体的软件库或工具而异,但总体上遵循上述步骤。

三、实现方式

  1. 命令行调用:VMAF提供了命令行工具,可以通过在终端或命令行界面中执行特定命令来调用。这种方式适用于快速评估视频质量,不需要编写复杂的代码。您可以通过指定输入视频文件、输出日志文件和其他可选参数来运行VMAF命令。
  2. 编程接口调用:VMAF还提供了编程接口,允许您在Python、Matlab等编程语言中直接调用VMAF库或函数。这种方式适用于将VMAF集成到您的应用程序或系统中,以便在视频处理、编码、传输等过程中进行实时质量评估。具体的接口文档和示例代码可以在VMAF的官方GitHub仓库或相关文档中找到。
  3. FFmpeg插件调用:VMAF可以作为FFmpeg的插件进行调用。FFmpeg是一个流行的开源多媒体处理框架,通过将其与VMAF集成,您可以在FFmpeg的处理流程中直接计算VMAF分数。这有助于在视频编码、转码和流媒体处理等应用中方便地评估视频质量
  4. vmaf-gui工具

本例使用的是vmaf-gui工具进行了视频评分。

四、举例

720p源视频和转码后对比结果:
psnr主要是用来看什么的,视频优化,opencv,音视频,人工智能,计算机视觉
视频就不贴了,比较麻烦。

无参考的主观打分

开源:

腾讯的DVQA:

https://git.code.tencent.com/Tencent_Open_Source/DVQA

目前行业内的视频质量评估方法分为两大类:客观质量评估与主观质量评估。

前者计算视频的质量分数,又根据是否使用高清视频做参考、源视频是专业视频还是用户原创视频等进一步细分。

后者主要依赖人眼观看并打分,能够直观反映观众对视频质量的感受。

腾讯多媒体实验室提出的视频质量评估解决方案,首先结合业务需求,使用“在线主观质量评测平台”,来构建大规模主观质量数据库。

目前该评估算法已在腾讯内外部多款产品中进行使用验证,如腾讯会议就借助实验室上百个符合ITU/3GPP/AVS等国外内标准的指标进行评判,闭环监控全网的用户体验质量,从用户真实体验出发,不断优化产品性能。

收费:

腾讯:

产品介绍:

需要开通腾讯COS(对象存储)

https://cloud.tencent.com/document/product/460/80055

检测项 说明
视频画面抖动、重影 检测因视频拍摄过程中因相机架设不稳和环境,导致的视频画面出现抖动以及重影等问题。
视频画面模糊 检测因拍摄条件,或视频多次转码或被压缩后产生的模糊问题。
视频画面低光、过曝 检测因环境状况及拍摄摄像头的硬件限制,在某些场景下拍摄的画面亮度和对比度缺失,导致画面较暗或画面过度曝光的问题。
视频画面花屏 检测在拍摄、保存和转存过程中一些未知因素导致视频画面产生花屏问题。
视频画面黑白边 检测在拍摄、保存和转存过程中一些未知因素导致视频画面产生黑边、白边、黑屏、白屏等问题。
视频画面噪点 检测视频拍摄中会因为相机和环境引入随机噪点。
视频画面马赛克 检测出视频画面的马赛克。
视频画面二维码 检测出视频画面上的二维码,包括条形码、小程序码等。
视频画面质量评价 用户设定一个视频画面质量分数阈值,经过系统综合评估分析得到视频片段的无参考质量评分,低于该阈值的视频片段结果会反馈给用户。
音频 检测出音频中的静音、低音、爆音等问题。
成本汇算:
视频质量评分 0.098元/分钟(vpaplus=费用*1.5)

百度:

产品介绍:

需要开通百度BOS(对象存储)

https://cloud.baidu.com/product/MCT/videoqt.html文章来源地址https://www.toymoban.com/news/detail-847675.html

whiteScreen 白屏检测模型 - -
blackScreen 黑屏检测模型 - -
tooBright 过亮检测模型 0.500 表示检测每帧图像过亮程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],阈值越大,表示检测门槛越高。
tooDark 过暗检测模型 0.500 表示检测每帧图像过暗程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义,阈值越大,表示检测门槛越高。
redScreen 红屏检测模型 - -
yellowScreen 黄屏检测模型 - -
greenScreen 绿屏检测模型 - -
blueScreen 蓝屏检测模型 - -
purpleScreen 紫屏检测模型 - -
reddish 偏红检测模型 0.500 表示检测每帧图像偏红程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
yellowish 偏黄检测模型 0.500 表示检测每帧图像偏黄程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
greenish 偏绿检测模型 0.500 表示检测每帧图像偏绿程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
bluish 偏蓝检测模型 0.500 表示检测每帧图像偏蓝程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
purplish 偏紫检测模型 0.500 表示检测每帧图像偏紫程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
blur 模糊检测模型 0.500 表示检测每帧图像模糊程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
noise 噪声检测模型 0.500 表示检测每帧图像噪声程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
mosaic 马赛克检测模型 0.001 表示检测每帧图像中马赛克区域与整个图像面积比值的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
freeze 冻结检测模型 - -
jitter 抖动检测模型 - -
blackEdge 黑边检测模型 0.200 表示检测每帧图像中黑边区域与整个图像面积比值的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
blurEdge 模糊边缘检测模型 0.200 表示检测每帧图像中模糊边缘区域与整个图像面积比值的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
staticEdge 静态边缘检测模型 0.200 表示检测每帧图像中静态边缘区域与整个图像面积比值的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
crash 花屏检测模型 - -
colorBar 彩条检测模型 - -
block 块效应检测模型 0.400 表示检测每帧图像块效应程度(值越大程度越大)的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
interlace 场效应检测模型 - -
mute 静音检测模型 0.0001 表示检测的每帧音频的音量均值的阈值,小于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
volumeLow 音量过低检测模型 0.001 表示检测的每帧音频的音量均值的阈值,小于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
volumeHigh 音量过高检测模型 0.600 表示检测的每帧音频的音量均值的阈值,大于阈值认为单帧存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
soundIntermittent 声音间断检测模型 0.0001 表示检测的每帧音频的音量均值的阈值,小于阈值认为单帧存在静音,5秒内出现两次及以上静音,则认为存在该异常;支持阈值自定义[0,1],设定阈值越大,表示检测门槛越高。
成本汇算:
质检类型 计费方式 单价(元/分钟)
视频问题检测 按检测视频时长计费 0.08
音频问题检测 按检测音频时长计费 0.03

到了这里,关于揭秘视频音画质量的神秘面纱:探索几种独到的分析方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 扯下@EventListener这个注解的神秘面纱。

    你好呀,我是歪歪。 前段时间看到同事在项目里面使用了一个叫做 @EventListener 的注解。 在这之前,我知道这个注解的用法和想要达到的目的,但是也仅限于此,其内部工作原理对我来说是一个黑盒,我完完全全不知道它怎么就实现了“监听”的效果。 现在既然已经出现在项

    2023年04月10日
    浏览(30)
  • GitHub上的AutoGPT神秘的面纱

    最近一直在说AutoGPT,有很多的视频介绍,但是本着收藏等于学会的原则,收藏一堆一直没看。 这里用一句话说明白:AutoGPT就是一个用Python套装的壳子,用来更省事的调用OpenAI的API。(如果你不明白API,没关系,更直白的表达是:更省事的想OpenAI的Url网址发送数据,并接收返

    2024年02月04日
    浏览(39)
  • 【网络编程】揭开套接字的神秘面纱

    TCP协议: 1️⃣传输层协议 2️⃣有连接 3️⃣可靠传输 4️⃣面向 字节流 UDP协议: 1️⃣传输层协议 2️⃣无连接 3️⃣不可靠传输 4️⃣面向 数据报 我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分, 磁盘文件中的多字节数据相对于文件中的偏移地址也有

    2024年02月13日
    浏览(34)
  • 【HTTP完全注解】揭开Authorization神秘的面纱

    Authorization是HTTP 提供一个用于权限控制和认证的通用框架,可能有不少小伙伴会感到疑惑\\\" Cookie不就可以做权限控制和认证吗? \\\",确实如此! Cookie确实是在单个系统内认证用户身份、保持会话状态的有效方式,但如果涉及到多个系统、多个域名或多个应用程序之间认证、授

    2024年04月25日
    浏览(26)
  • 【Linux】揭开套接字编程的神秘面纱(下)

    ​🌠 作者:@阿亮joy. 🎆 专栏: 《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 在揭开套接字编程神秘面纱(上)中,我们已经学习到了套接字编程的相关基础知识以及编写了基于 UDP 协议的

    2023年04月12日
    浏览(36)
  • 华为鸿蒙系统:揭开全新操作系统的神秘面纱

    在全球科技竞争日益激烈的背景下,我国科技巨头华为公司自主研发了一款全新的操作系统——鸿蒙。这款操作系统旨在为华为自家设备提供强大的性能、安全性和智能化特性,以满足用户不断增长的需求。为了帮助广大开发者充分挖掘鸿蒙系统的巨大潜力,华为发布了一本

    2024年02月04日
    浏览(38)
  • 【Linux】揭开套接字编程的神秘面纱(上)

    ​🌠 作者:@阿亮joy. 🎆 专栏: 《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 源IP地址和目的IP地址 源 IP 地址指发送方的 IP 地址,而目的 IP 地址是指接收方的 IP 地址,源 IP 地址和目的

    2023年04月09日
    浏览(94)
  • 面试篇-揭开Spring Bean加载的神秘面纱

      启动spring容器(创建beanfactory)-加载配置(注解、xml)-实例化bean(执行构造方法)-注入依赖-初始化bean(设置属性值)-使用-销毁 解析和读取 XML 配置文件或注解配置类,获取 Bean 定义信息。 根据 Bean 定义信息实例化 Bean 对象。根据不同的作用域(如 singleton、prototype 等),S

    2023年04月17日
    浏览(39)
  • 06-揭开神秘面纱:Golang method的魅力解析

    📃个人主页:个人主页 🔥系列专栏:Golang基础 💬Go(又称Golang)是由Google开发的开源编程语言。它结合了静态类型的安全性和动态语言的灵活性,拥有高效的并发编程能力和简洁的语法。Go被设计用于构建可扩展、高性能的软件系统,具有优秀的内存管理和快速的编译速度

    2024年02月09日
    浏览(35)
  • 揭开神秘面纱,会stream流就会大数据

    目录 准备工作 1.map类 1.1 java stream map 1.2 spark map 1.2.1 MapFunction 1.2.2 MapPartitionsFunction 2.flatMap类 2.1 java stream flatMap 2.2 spark flatMap 3 groupby类 3.1 java stream groupBy 3.2 spark groupBy 3.3 spark groupByKey 4 reduce类 4.1 java stream reduce 4.2 spark reduce 其它常见操作类 小结 如果你会任意一门语言的stream流

    2023年04月27日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包