系统架构设计师【第19章】: 大数据架构设计理论与实践 (核心总结)

文章目录

    • 19.1 传统数据处理系统存在的问题
    • 19.2 大数据处理系统架构分析
      • 19.2.1 大数据处理系统面临挑战
      • 19.2.2 大数据处理系统架构特征
    • 19.3 Lambda架构
      • 19.3.1 Lambda架构对大数据处理系统的理解
      • 19.3.2 Lambda架构应用场景
      • 19.3.3 Lambda架构介绍
      • 19.3.4  Lambda架构的实现
      • 19.3.5 Lambda架构优缺点
      • 19.3.6 Lambda与其他架构模式对比
    • 19.4 Kappa架构
      • 19.4.1 Kappa架构下对大数据处理系统的理解
      • 19.4.2 Kappa架构介绍
      • 19.4.3 Kappa架构的实现
      • 19.4.4 Kappa架构的优缺点
      • 19.4.5 常见Kappa架构变形
    • 19.5 Lambda架构与Kappa架构的对比和设计选择
      • 19.5.1 Lambda架构与Kappa架构的特性对比
      • 19.5.2 Lambda架构与Kappa架构的设计选择
    • 19.6 大数据架构设计案例分析
      • 19.6.1 Lambda架构在某网奥运中的大数据应用
      • 19.6.2 Lambda架构在某网广告平台的应用与演进
      • 19.6.3 某证券公司大数据系统
      • 19.6.4 某电商智能决策大数据系统

19.1 传统数据处理系统存在的问题

1.传统数据库的数据过载问题
传统应用的数据系统架构设计时,应用直接访问数据库系统。当用户访问量增加时,数据库无法支撑日益增长的用户请求的负载,从而导致数据库服务器无法及时响应用户请求,出现超时的错误。关于这个问题的常用解决方法如下:

  • (1)增加异步处理队列,通过工作处理层批量处理异步处理队列中的数据修改请求。
  • (2)建立数据库水平分区,通常建立 Key 分区,以主键/唯一键 Hash 值作为 Key。
  • (3)建立数据库分片或重新分片,通常专门编写脚本来自动完成,且要进行充分测试。
  • (4)引入读写分离技术,主数据库处理写请求,通过复制机制分发至从数据库。
  • (5)引入分库分表技术,按照业务上下文边界拆分数据组织结构,拆分单数据库压力。

2.大数据的特点
大数据具有体量大、时效性强的特点,并非构造单调,而是类型多样; 处理大数据时,传统数据处理系统因数据过载,来源复杂,类型多样等诸多原因性能低下,需要采用以新式计算架构和智能算法为代表的新技术;大数据的应用重在发掘数据间的相关性,而非传统逻辑上的因果关系; 因 此,大数据的目的和价值就在于 发现新的知识,洞悉并进行科学决策。现代大数据处理技术,主要分为以下几种:

  • (1)基于分布式文件系统 Hadoop。
  • (2)使用 Map/Reduce 或 Spark 数据处理技术。
  • (3)使用 Kafka 数据传输消息队列及 Avro 二进制格式。

3.大数据利用过程
大数据的利用过程分为: 采集、清洗、统计和挖掘 4 个过程。

19.2 大数据处理系统架构分析

19.2.1 大数据处理系统面临挑战

大数据处理系统面临的挑战主要有:

  • 1)如何利用信息技术等手段处理非结构化和半结构化数据。
  • 2)如何探索大数据复杂性、不确定性特征描述的刻画方法及大数据的系统建模。
  • 3)数据异构性与决策异构性的关系对大数据知识发现与管理决策的影响。

19.2.2 大数据处理系统架构特征

大数据处理系统应具有的属性和特征包括: 鲁棒性和容错性、低延迟、横向扩展(通过增强机器性能扩展)、通用、可扩展、即席查询(用户按照自己的要求进行查询)、最少维护和可调试

1.鲁棒性和容错性 (Robust and Fault-tolerant):对于大规模的分布式系统来说,人和机器的错误每天都可能会 发生,如何应对人和机器的错误,让系统能够从错误中快速恢复尤其重要。
2.低延迟读取和更新能力 (Low Latency Reads and Updates):许多应用程序要求数据系统拥有几毫秒到几百毫秒的低延迟读取和更新能力。有的应用程序允许几个小时的延迟更新,但是只要有低延迟读取与更新的需求,系统就应该在保证鲁棒性 的前提下实现。
3.横向扩容 (Scalable):当数据量/负载增大时,可扩展性的系统通过增加更多的机器资源来维持性能。也就是常说的系统需要线性可扩展,通常采用scaleout(通过增加机器的个数)而不是scaleup(通过增 强机器的性能)。
4.通用性 (General) 系统需要支持绝大多数应用程序,包括金融领域、社交网络、电子商务数据分析等。
5.延展性 (Extensible) 在新的功能需求出现时,系统需要能够将新功能添加到系统中。同时,系统的大规模迁移能力是设计者需要考虑的因素之一,这也是可延展性的体现。
6.即席查询能力 (Allows Ad Hoc Queries) 用户在使用系统时,应当可以按照自己的要求进行即席查询 (Ad Hoc)。 这使用户可以通过系统多样化数据处理,产生更高的应用价值。
7.最少维护能力 (Minimal Maintenance) 系统需要在大多数时间下保持平稳运行。使用机制简单的组件和算法让系统底层拥有低复 杂度,是减少系统维护次数的重要途径。 Marz认为大数据系统设计不能再基于传统架构的增量 更新设计,要通过减少复杂性以减少发生错误的几率、避免繁重操作。
8.可调试性 (Debuggable)系统在运行中产生的每一个值,需要有可用途径进行追踪,并且要能够明确这些值是如何 产生的。

19.3 Lambda架构

19.3.1 Lambda架构对大数据处理系统的理解

Lambda 架构是 一种用于同时处理离线和实时数据的、可容错的、可扩展的分布式系统,它 具备强鲁棒性,提供低延迟和持续更新。

19.3.2 Lambda架构应用场景

1.机器学习中的Lambda架构
机器学习可以受益于由 Lambda架构构 建的数据系统、所处理的各类数据。据此,机器学习算法可以提出各种问题,并逐渐对输入到 系统中的数据进行模式识别。

2.物联网的 Lambda架构
如果说机器学习利用的是 Lambda 架构的输出,那么物联网则更多地作为数据系统的输入。

3.流处理和Lambda架构挑战
在实际应用中,由于实时处理流以毫秒为单位,持续产生用于更新视图的数据流,是一个 非常复杂的过程。因此,将基于文档的数据库、索引以及查询系统配合在一起使用,是一种比较好的选择。

19.3.3 Lambda架构介绍

Lambda 架构如图:
在这里插入图片描述
Lambda 架构分为以下 3 层:

  • (1)批处理层。该层核心功能是 存储主数据集,主数据集数据具有 原始、不可变、真实 的特征。批处理层周期性地将增量数据转储至主数据集,并在主数据集上执行批处理,生成批视图。架构实现方面可以使用 Hadoop HDFS 或 HBase 存储主数据集,再利用 Spark 或 MapReduce 执行周期批处理,之后使用 MapReduce 创建批视图。
  • (2)加速层。该层的核心功能是 处理增量实时数据,生成实时视图,快速执行即席查询。架构实现方面可以使用 Hadoop HDFS 或 HBase 存储实时数据,利用 Spark 或 Storm 实现实时数据处理和实时视图。
  • (3)服务层。该层的核心功能是 响应用户请求,合并批视图和实时视图中的结果数据集得到最终数据集。具体来说就是接收用户请求,通过索引加速访问批视图,直接访问实时视图,然后合并两个视图的结果数据集生成最终数据集,响应用户请求。架构实现方面可以使用 HBase 或 Cassandra 作为服务层,通过 Hive 创建可查询的视图。

19.3.4  Lambda架构的实现

如图,在这种Lambda架构实现中,Hadoop(HDFS) 用于存储主数据集,Spark(或 Storm) 可构成速度层 (Speed Layer),HBase (或Cassandra) 作为服务层,由Hive创建可查询的视图
在这里插入图片描述

  • Hadoop是被设计成适合运行在通用硬件上的分布式文件系统 (Distributed File System)。
  • Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。
  • HBase-Hadoop Database, 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价 PCServer上搭建起大规模结构化存储集群。

19.3.5 Lambda架构优缺点

Lambda 架构的优点: 容错性好,查询灵活度高,弹性伸缩,易于扩展
Lambda 架构的缺点: 编码量大,持续处理成本高,重新部署和迁移成本高

19.3.6 Lambda与其他架构模式对比

Lambda架构的诞生离不开很多现有设计思想和架构的铺垫,如事件溯源 (Event Sourcing) 架构命令查询职责分离 (Command Query Responsibility Segregation,CQRS) 架构, Lambda架构的设计思想和这两者有一定程度的相似。

1.事件溯源(Event Sourcing)本质上是一种数据持久化的方式,其由三个核心观点构成:

  • (1)整个系统以事件为驱动,所有业务都由事件驱动来完成。
  • (2)事件是核心,系统的数据以事件为基础,事件要保存在某种存储上。
  • (3)业务数据只是一些由事件产生的视图,不一定要保存到数据库中。

Lambda架构中数据集的存储使用的概念与事件溯源中的思想完全一致,二者都是在使用统一的数据模型对数据处理事件本身进行定义。

2.CQRS架构分离了对于数据进行的读操作(查询)和写(修改)操作。其将能够改变数据模型状态的命令和对于模型状态的查询操作实现了分离。这是领域驱动设计 (Domain-Driven Design,DDD) 的一个架构模式,主要用来解决 数据库报表的输出处理方式。Lambda 架构中,数据的修改通过批处理和流处理实现,通过写操作将数据转换成查询时所对应的View。

19.4 Kappa架构

19.4.1 Kappa架构下对大数据处理系统的理解

为了设计出能满足前述的大数据关键特性的系统,我们需要对数据系统有本质性的理解。 我们可将数据系统简单理解为: 数据系统=数据+查询 进而从 数据和查询 两方面来认识大数据系统的本质。

1.数据的特性
数据是一个不可分割的单位,数据有两个关键的性质: When和 What。

  • (1)When。When是指数据是与时间相关的,数据一定是在某个时间点产生的。
  • (2)What。What 是指数据的本身。由于数据跟某个时间点相关,所以数据的本身是不可变的 (Immutable), 过往的数据已经成为事实 (Fact), 你不可能回到过去的某个时间点去改变数据事实。

2.数据的存储
Lamba架构中对数据的存储采用的方式是: 数据不可变, 存储所有数据

19.4.2 Kappa架构介绍

Kappa 架构是在 Lambda 架构的基础上进行了优化,删除了 Batch Layer 的架构,将数据通道以消息队列进行替代。Kappa 架构本质上是 通过改进 Lambda 架构中的加速层,使它既能够进行实时数据处理, 同时也有能力在业务逻辑更新的情况下重新处理以前处理过的历史数据,如图:
在这里插入图片描述
Kappa 架构分为如下 2 层:

  • (1)实时层。该层核心功能是处理输入数据,生成实时视图。具体来说是采用流式处理引擎 逐条处理输入数据,生成实时视图。架构实现方式是采用 Apache Kafka 回访数据,然后采用 Flink 或 Spark Streaming 进行处理。
  • (2)服务层。该层核心功能是使用实时视图中的结果数据集响应用户请求。实践中使用数据 湖中的存储作为服务层。

19.4.3 Kappa架构的实现

下面以Apache Kafka为例来讲述整个全新架构的过程:部署 Apache Kafka, 并设置数据日志的保留期 (Retention Period)。 这里的保留期指的是你希望能够重新处理的历史数据的时间区间。例如:

  • 如果你希望重新处理最多一年的历史数据, 那就可以把Apache Kafka中的保留期设置为365天。
  • 如果你希望能够处理所有的历史数据,那就可以把 Apache Kafka 中的保留期设置为“永久 (Forever)”。
  • 如果我们需要改进现有的逻辑算法,那就表示我们需要对历史数据进行重新处理。

19.4.4 Kappa架构的优缺点

Kappa 架构的优点是 将离线和实时处理代码进行了统一,方便维护。避免了 Lambda架构中与离线数据合并的问题,查询历史数据的时候只需要重放存储的历史数据即可 。

缺点是 消息中间件有性能瓶颈、数据关联时处理开销大、抛弃了离线计算的可靠性

19.4.5 常见Kappa架构变形

Kappa 架构常见变形是
1、Kappa+架构,如图 :
在这里插入图片描述
Kappa+是Uber提出流式数据处理架构,它的核心思想是 让流计算框架直接读HDFS里的数据仓库数据,一并实现实时计算和历史数据backfll计算,不需要为backfll作业长期保存日志或者把数据拷贝回消息队列

2、混合分析系统 Kappa 架构,如图:
在这里插入图片描述
在基于使用Kafka +Flink构建Kappa流计算数据架构,针对Kappa架构分析能力不足的问题,再利用Kafka对接组合 Elastic- Search 实时分析引擎,部分弥补其数据分析能力。但是ElasticSearch也只适合对合理数据量级的热点数据进行索引,无法覆盖所有批处理相关的分析需求,这种混合架构某种意义上属于Kappa和Lambda间的折中方案。

19.5 Lambda架构与Kappa架构的对比和设计选择

19.5.1 Lambda架构与Kappa架构的特性对比

Lambda 架构与 Kappa 架构的对比,见表:

对比内容Lambda 架构Kappa 架构
复杂度与开发维护成本维护两套系统(引擎),复杂度高,成本高维护一套系统(引擎),复杂度低,成本低
计算开销周期性批处理计算,持续实时计算计算开销大必要时进行全量计算,计算开销相对较小
实时性满足实时性满足实时性
历史数据处理能力批式全量处理,吞吐量大;历史数据处理能力强;批视图与实时视图存在冲突可能流式全量处理,吞吐量相对较低 历史数据处理能力相对较弱

对于两种架构设计的选择可以从以下 4 个方面考虑,见表

19.5.2 Lambda架构与Kappa架构的设计选择

对于两种架构设计的选择可以从以下 4 个方面考虑,见表

设计考虑Lambda 架构Kappa 架构
业务需求与技术要求依赖 Hadoop、Spark、Storm 技术依赖 Flink 计算引擎,偏流式计算
复杂度实时处理和离线处理结果可能不一致频繁修改算法模型参数
开发维护成本成本预算充足成本预算有限
历史数据处理能力频繁使用海量历史数据仅使用小规模数据集

19.6 大数据架构设计案例分析

19.6.1 Lambda架构在某网奥运中的大数据应用

某网采用以 Lambda 架构搭建的大数据平台处理里约奥运会大规模视频网络观看数据,具体平台架构设计如图 :
在这里插入图片描述

对于图中的数据计算层可以分为 离线计算、实时计算、合并计算 3 个部分。

  • (1)离线计算部分: 用于存储持续增长的批量离线数据,并且会周期性地使用 Spark 和 Map/Reduce 进行批处理,将批处理结果更新到批视图之后使用 Impala 或者 Hive 建立数据仓库, 将结果写入 HDFS 中。
  • (2)实时计算部分: 采用 Spark Streaming,只处理实时增量数据,将处理后的结果更新到实时视图。
  • (3)合并计算部分: 合并批视图和实时视图中的结果,生成最终数据集,将最终数据集写入 HBase 据库中用于响应用户的查询请求。

19.6.2 Lambda架构在某网广告平台的应用与演进

某网基于 Lambda 架构的广告平台,分为 批处理层(Batch Layer)、加速层(Speed Layer)、服 务层(Serving Layer),某网广告平台 Lambda 架构如图:
在这里插入图片描述

实时处理过程如下:
(1)批处理层: 每天凌晨将 Kafka 中浏览、下单等消息同步到 HDFS 中,将 HDFS 中数据解析为 Hive 表,然后使用 HQL 或 Spark SQL 计算分区统计结果 Hive 表,将 Hive 表转储到 MySQL 中作为批视图。
(2)加速层: 使用 Spark Streaming 实时监听 Kafka 下单、付款等消息,计算每个追踪链接维度的实时数据,将实时计算结果存储在 Redis 中作为实时视图。
(3)服务层: 采用 Java Web 服务,对外提供 HTTP 接口,Java Web 服务读取 MySQL 批视图表和 Redis 实时视图表。

19.6.3 某证券公司大数据系统

某证券公司智能决策大数据系统是一个基于 Kappa 架构的实时日志分析平台,如图:
在这里插入图片描述

具体的实时处理过程如下:
(1)日志采集: 用统一的数据处理引擎 Filebeat 实时采集日志并推送给 Kafka 缓存。
(2)日志清洗解析: 利用基于大数据计算集群的 Flink 计算框架实时读取 Kafka 消息并进行清洗,解析日志文本转换成指标。
(3)日志存储: 日志转储到 ElasticSearch 日志库,指标转储到 OpenTSDB 指标库。
(4)日志监控: 单独设置告警消息队列,保持监控消息时序管理和实时推送。

19.6.4 某电商智能决策大数据系统

该智能决策大数据平台基于 Kappa 架构,使用统一的数据处理引擎 Funk 可实时处理流数据,并将其存储到数据仓库工具 Hive 与分布式缓存 Tair 中,以供后续决策服务的使用。如图:
在这里插入图片描述

实时处理的过程如下:
(1)数据采集: B 端实时采集用户点击、下单、广告曝光、出价等数据然后推送给 Kafka 缓存。
(2)数据清洗聚合: 由 Flink 实时读取 Kafka 消息,按需过滤参与业务需求的指标,将聚合时间段的数据转换成指标。
(3)数据存储: Flink 将计算结果转储至 Hive 日志库,将模型需要的参数转储至实时计算数据库 Tair 缓存,然后后续决策服务从 Tair 中获取数据进行模型训练。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内网安全:横向传递攻击(PTH || PTK || PTT 哈希票据传递)

内网安全:横向传递攻击. 横向移动就是在拿下对方一台主机后,以拿下的那台主机作为跳板,对内网的其他主机再进行后面渗透,利用既有的资源尝试获取更多的凭据、更高的权限,一步一步拿下更多的主机,进而达到控…

CodeMirror 创建标签计算编辑器

在日常开发中对于一些数据计算场景可能会遇到标签计算的需求&#xff0c;下面关于如何使用CodeMirror实现标签计算编辑功能。 1&#xff0c;结果图 2&#xff0c;主体代码逻辑 大家只需要复制粘贴主要codeMirror使用逻辑即可 <template><el-dialogref"dialogRe…

抖店商家疑惑,自然流量突然下滑,为什么呢?

大家好&#xff0c;我是喷火龙。 很多的抖店商家会遇到一种情况&#xff0c;那就是自己店铺的流量好好的&#xff0c;不知道怎么的就突然没流量了&#xff0c;各方面的数据都断崖式的下降。 为什么会这样呢&#xff1f;原因有以下几点&#xff0c;大家可以检查一下&#xff0…

低代码和零代码软件时代质量管理(QM)和质量管理系统(QMS)

【前言】 质量控制过程的目的是为了确保产品的制造标准得到保持和改进。质量控制过程使公司能够满足客户的期望&#xff0c;同时确保产品质量的一致水平。采用这些标准创造了一种公司文化&#xff0c;鼓励所有员工努力实现高质量的生产标准。低代码和零代码软件可以成为质量控…

【网络通信层】华为云连接MQTT设备

本文介绍华为云设备连接到设备的操作。 目录 一、在华为云创建设备 二、连接MQTT 三、通信 一、在华为云创建设备 现在华为云上可以免费使用部分受限服务&#xff0c;包括免费创建自己的设备连接。 首先&#xff0c;登录华为云平台共建智能世界云底座-华为云 (huaweicl…

Qt Window Dialog 无标题栏 ,无边框,可拖动

1.效果&#xff1a; 2. 主要实现步骤&#xff1a; 设置窗口 flag&#xff1a; this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); 创建变量存储位置 QPoint m_dragPosition; 对鼠标左键按下和移动事件做处理 void DraggableDialog::mousePre…

Web 页面性能衡量指标-以用户为中心的效果指标

Web 页面性能衡量指标-以用户为中心的性能指标 以用户为中心的性能指标是理解和改进站点体验的关键点 一、以用户为中心的性能指标 1. 指标是用来干啥的&#xff1f; 指标是用来衡量性能和用户体验的 2. 指标类型 感知加载速度&#xff1a;网页可以多快地加载网页中的所有…

如何在vs code中安装JavaFX

目录 下载JavaFX 配置vs code工程 编写测试代码 下载JavaFX 网站链接:https://openjfx.io 选择如下的版本

从1.0到4.0,看看你公司的费控模式是第几代?

早在2021年9月&#xff0c;艾媒咨询在《2021H1企业费控报销服务专题研究报告》中&#xff0c;第一次对企业费用管控模式的进化历程进行了清晰的划代&#xff1a;1.0手工模式、2.0网报模式、3.0移动报销模式、4.0智能费控模式。 2022年&#xff0c;在《中国企业费用管理发展白皮…

vr样板房实景漫游展示制作解决了地产商难题

家具和软装销售中&#xff0c;如何直观展示产品优势一直是老板们的难题。口头描述往往难以让客户真正感受到产品的独特之处&#xff0c;这不仅影响了销售效果&#xff0c;也增加了沟通的难度。但现在&#xff0c;我们有了全新的解决方案——样板房VR全景编辑软件! 样板房VR全景…

精打细算:可燃气体报警器检验收费的合理规划与管理

随着工业化的快速发展&#xff0c;可燃气体报警器已经成为各类工业场所不可或缺的安全设备。 它的主要功能是在可燃气体浓度超标时发出警报&#xff0c;有效预防和减少火灾、爆炸等安全事故的发生。 然而&#xff0c;为了确保报警器能够持续、准确地发挥作用&#xff0c;定期…

科技盛事即将拉开帷幕,WWDC2024官宣定档,亮点抢先看!

随着全球科技爱好者们对苹果年度开发者大会&#xff08;WWDC&#xff09;的期待日益高涨&#xff0c;今年的WWDC24&#xff08;苹果全球开发者大会&#xff09;&#xff0c;正式宣告这一科技盛事将于北京时间6月11日凌晨1点拉开帷幕。距离WWDC 2024的召开只剩下一周时间&#x…

【电子取证篇】电子数据取证标准合集更新202405(附下载)

【电子取证篇】电子数据取证标准合集更新202405&#xff08;附下载&#xff09; 电子数据取证相关标准合集&#xff0c;按照司法鉴定职业分类目录&#xff0c;对电子数据鉴定可能涉及的测试、测量方法进行标准归类&#xff0c;更新于2024年05月14日—【蘇小沐】 &#xff08;…

前端localForage存储数据使用教程

前言 前端本地化存储算是一个老生常谈的话题了&#xff0c;我们对于 cookies、Web Storage&#xff08;sessionStorage、localStorage&#xff09;的使用已经非常熟悉&#xff0c;在面试与实际操作之中也会经常遇到相关的问题&#xff0c;但这些本地化存储的方式还存在一些缺陷…

期权懂题库免费!期权开户测试难吗?多少分算合格通过?

今天带你了解期权懂题库免费&#xff01;期权开户测试难吗&#xff1f;多少分算合格通过&#xff1f;期权开户测试通常要求投资者达到一定的合格分数&#xff0c;以确保他们具备足够的理解和知识来参与期权交易。 期权开户测试难吗&#xff1f; 期权开户测试的难度因人而异&am…

【设计模式深度剖析】【1】【行为型】【模板方法模式】| 以烹饪过程为例加深理解

&#x1f448;️上一篇:结构型设计模式对比 文章目录 模板方法模式定义英文原话直译如何理解呢&#xff1f; 2个角色类图代码示例 应用优点缺点使用场景 示例解析&#xff1a;以烹饪过程为例类图代码示例 模板方法模式 模板方法模式&#xff08;Template Method Pattern&…

LED驱动IC:HC2161,升压型LED恒流驱动ic,供应LED灯杯单节电池以上供电的LED灯串平板显示LED背光大功率LED照明

LED驱动IC&#xff1a; HC2161:升压型LED恒流驱动ic 概述&#xff1a;HC2161是一款高效率、高精度的升 压型大功率LED恒流驱动控制芯片。 HC2161内置高精度误差放大器&#xff0c;固 定关断时间控制电路&#xff0c;恒流驱动电路等&#xff0c; 特别适合大功率、多个高亮…

Kaggle平台进行Python版本降级

前言 最近在复现语音合成模型VITS&#xff0c;由于目前没有算力故去Kaggle白嫖运算资源。 VITS的运行环境要求如下 Cython0.29.21 librosa0.8.0 matplotlib3.3.1 numpy1.18.5 phonemizer2.2.1 scipy1.5.2 tensorboard2.3.0 torch1.6.0 torchvision0.7.0 Unidecode1.1.1截至2…

视频号小店,常见的违规条例!98%的商家必犯的违规细节!

哈喽~我是电商月月 做电商&#xff0c;不管哪个平台都有属于自己的规则条例&#xff0c;这些违规细节&#xff0c;一定要提前了解 所以今天&#xff0c;月月就给大家分享一下&#xff0c;做视频号小店的话&#xff0c;有哪些常见的违规细节 这里我们分三点讲解 一&#xff…

【分享】两种方法禁止修改Word文档

对于比较重要的Word文件&#xff0c;不想被随意编辑修改&#xff0c;可以试试以下两个方法&#xff0c;不清楚的小伙伴&#xff0c;一起来看看吧&#xff01; 方法1&#xff1a;设置“只读方式” 我们可以给Word文档设置以“只读方式”打开&#xff0c;这样就算编辑修改了文档…