大数据设计为何要分层,行业常规设计会有几层数据
大数据设计通常采用分层结构的原因是为了提高数据管理的效率、降低系统复杂度、增强数据质量和可维护性。这种分层结构能够将数据按照不同的处理和应用需求进行分类和管理,从而更好地满足不同层次的数据处理和分析需求。行业常规设计中,数据通常按照以下几个层次进行划分:
ODS(Operational Data Store)操作型数据存储
DWD(Data Warehouse Detail)数据仓库明细层
DIM(Dimensional Data Mart)维度数据集市
DWS(Data Warehouse Summary)数据仓库汇总层
TDM(Temporary Data Mart)临时数据集市
ADS(Application Data Store)应用数据存储
TMP(Temporary Storage)临时存储层
1.ODS(Operational Data Store)操作型数据存储:ODS层主要用于存储原始的、经过简单处理的业务数据,通常是从各个业务系统中提取的数据,保留了数据的原始状态和结构,是数据仓库中的第一层。ODS层的数据主要用于日常业务的操作和处理。
当设计大数据架构时,操作型数据存储是整个数据处理流程中的第一步。ODS的主要目的是在保持数据的原始状态的同时,提供一个中间层,用于将来自各个业务系统的数据整合、清洗和标准化,以支持后续的数据分析、报表生成和业务应用等需求。
ODS的概念
- 原始数据存储:ODS作为大数据架构中的第一层,主要负责存储来自不同业务系统的原始数据。这些数据通常是实时或近实时地从业务系统中抽取而来,保留了数据的原始格式和结构。
- 简单处理:尽管ODS层存储了原始数据,但通常也会进行一些简单的处理,例如去除重复记录、填充缺失值、解析数据等,以保证数据的一致性和可用性。
- 提供数据服务:除了存储和处理数据外,ODS还可以作为数据服务的提供者,为其他系统和业务流程提供数据访问接口,使其能够实时获取到最新的业务数据。
ODS的设计思路
- 数据集成:ODS的设计需要考虑如何有效地集成来自不同业务系统的数据。这可能涉及到数据抽取、转换和加载(ETL)过程,以确保数据能够被正确地捕获、整合和存储。
- 数据质量保证:在数据进入ODS之前,需要进行一定程度的数据质量检查和修复,以确保数据的准确性、完整性和一致性。这包括检测并处理重复数据、缺失值、错误格式等问题。
- 数据标准化:为了支持后续的数据分析和应用,ODS中的数据通常需要进行标准化,以确保不同来源的数据能够在语义上一致。这可能涉及到数据格式的统一、命名规范的制定等方面。
- 实时性需求:根据业务需求,ODS可能需要实现实时数据处理和更新,以确保业务系统能够及时获取到最新的数据。因此,需要考虑如何实现高效的数据抽取和加载机制,以及实时处理的技术方案。
- 扩展性和性能:随着业务的发展和数据量的增长,ODS需要具备良好的扩展性和性能,以应对不断增长的数据存储和处理需求。因此,在设计ODS时需要考虑到数据分区、索引优化、集群部署等方面。
- 安全性:由于ODS层存储了原始的业务数据,因此需要采取必要的安全措施,保护数据的机密性和完整性,防止数据泄露和不当使用。
- 数据访问接口:ODS需要提供适当的数据访问接口,以便其他系统和应用程序能够方便地访问和使用其中的数据。这可能包括API接口、数据库连接等方式。
DWD(Data Warehouse Detail)数据仓库明细层
DWD层用于存储经过清洗、转换、集成等处理后的详细数据,通常包括事实表和维度表,是数据仓库中的核心层。DWD层的数据通常被用于复杂的数据分析、报表生成等任务。
DWD的概念
-
数据清洗与转换:DWD层接收来自ODS层的数据,并对其进行清洗和转换。这包括去除错误、重复、不完整或不一致的数据,以及将数据转换成适合分析和报表生成的格式。
-
数据集成与统一:DWD层负责将来自不同业务系统的数据进行集成和统一,以确保数据在整个数据仓库中的一致性和可比性。这可能涉及到数据合并、标准化、规范化等操作。
-
建模与标记:在DWD层中,数据通常会按照维度建模的方式进行组织和标记。这包括将数据划分为事实表(包含业务事实数据)和维度表(包含描述性维度数据),以支持多维分析。
-
历史数据管理:DWD层也负责管理历史数据,包括记录数据的变化历史、跟踪数据的版本信息等,以支持时间序列分析和趋势分析。
-
数据质量保证:在DWD层,还需要实施一系列数据质量控制措施,以确保数据的准确性、完整性和一致性。这可能包括数据验证、异常检测、数据修复等操作。
DWD的设计思路
- 业务需求分析:在设计DWD层时,首先需要深入了解业务需求,明确需要分析的业务指标和报表需求,以便确定数据模型和转换规则。
- 数据建模:基于业务需求,设计合适的数据模型,包括事实表和维度表的定义,以及它们之间的关联关系。这需要考虑业务过程、数据粒度、数据关系等因素。
- 数据清洗与转换:实施数据清洗和转换操作,包括去重、填充缺失值、数据格式转换、计算衍生指标等,以保证数据的质量和一致性。
- 数据集成与统一:将来自不同来源的数据进行集成和统一,确保数据的一致性和可比性。这可能涉及到数据合并、标准化、规范化等操作。
- 数据质量管理:实施数据质量管理措施,包括数据验证、异常检测、数据修复等操作,以确保数据的准确性和完整性。
- 性能优化:针对DWD层的性能优化,可以采取一系列措施,包括数据分区、索引优化、查询优化等,以提高数据处理和查询的效率。
- 历史数据管理:对于需要保留历史数据的业务需求,需要设计合适的历史数据管理策略,包括数据的版本控制、变化跟踪等操作。
- 安全性管理:在设计DWD层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
DIM(Dimensional Data Mart)维度数据集市
DIM层是在DWD层基础上构建的,用于存储维度化的数据,通常包括各种维度表。维度数据集市主要用于支持多维分析、OLAP(联机分析处理)等业务需求。
DIM的概念:
- 维度化数据存储:维度数据集市主要用于存储与业务相关的维度数据,例如时间、地域、产品、客户等。这些维度数据通常是具有层级结构的,并且对于分析和报表生成非常重要。
- 支持多维分析:维度数据集市是支持多维分析(OLAP)的关键组成部分。通过将事实数据与各种维度数据关联起来,可以进行复杂的多维度分析,发现数据间的关联和趋势。
- 提供一致的维度视图:维度数据集市提供了一致的维度视图,以便不同部门和用户可以使用相同的维度定义和标准化的数据。这有助于确保数据分析的一致性和可比性。
- 支持业务智能应用:维度数据集市是许多业务智能应用的基础,包括报表、仪表盘、数据挖掘等。通过将维度数据与事实数据关联起来,可以为用户提供丰富的分析和可视化功能。
DIM的设计思路:
- 确定维度:首先需要确定需要存储的维度数据。这可能涉及到与业务部门的沟通,了解业务需求和关键维度,例如时间、地域、产品、客户等。
- 设计维度模型:基于确定的维度,设计相应的维度模型。维度模型通常由维度表和事实表组成,其中维度表包含维度数据,而事实表包含度量数据。
- 建立维度表:根据维度模型设计维度表,包括定义维度的属性、层级关系等。维度表的设计需要考虑到数据的完整性、一致性和易用性。
- 填充维度数据:将维度数据填充到维度表中。这可能涉及到从不同数据源中抽取、转换和加载维度数据的过程,确保数据的准确性和完整性。
- 维护维度数据:维度数据可能会随着时间的推移而发生变化,因此需要建立相应的维度数据维护机制,包括更新、插入、删除等操作,以保持数据的最新和一致。
- 建立维度关系:将维度表与事实表进行关联,建立维度关系。这有助于进行多维分析,发现数据间的关联和趋势。
- 性能优化:为了提高维度数据集市的查询性能,可以采取一系列性能优化措施,包括索引优化、分区管理、数据压缩等。
- 安全性管理:在设计维度数据集市时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
DWS(Data Warehouse Summary)数据仓库汇总层
DWS层用于存储经过聚合、汇总等处理后的数据,通常包括汇总后的事实表。DWS层的数据通常被用于生成汇总报表、支持决策分析等任务。
DWS的概念:
- 数据聚合与汇总:DWS层主要用于存储经过聚合、汇总等处理后的数据,以提供高层次的数据视图和分析能力。这些汇总数据通常是从DWD层中的详细数据中计算而来,可以是按时间、地域、产品等维度进行汇总的。
- 提供决策支持:DWS层为决策者和管理人员提供了更高层次的数据视图,帮助他们更好地理解业务趋势、做出决策。通过预先计算和汇总数据,可以加速查询和分析过程,提高决策效率。
- 支持报表和仪表盘:DWS层提供了汇总的数据视图,可以用于生成各种报表、仪表盘和可视化图表,为用户提供直观的数据分析和监控能力。
- 优化查询性能:通过事先计算和汇总数据,可以减少查询时的计算量,提高查询性能。这对于大规模数据和复杂查询场景尤为重要。
- 支持复杂分析需求:DWS层提供了高层次的数据聚合和汇总,支持复杂的数据分析需求,包括趋势分析、比较分析、排名分析等。
DWS的设计思路:
- 确定汇总需求:首先需要明确业务需求,确定需要汇总的指标和维度。这可能涉及与业务部门的沟通,了解他们的分析和决策需求。
- 设计汇总模型:基于确定的汇总需求,设计相应的汇总模型。这包括定义需要汇总的指标、选择适当的汇总级别和维度等。
- 选择汇总方法:根据汇总模型选择合适的汇总方法,包括求和、计数、平均值等。同时,还需要考虑如何处理不同维度之间的关系,以及如何处理空值和异常值。
- 建立汇总表:根据汇总模型设计汇总表,包括定义表结构、选择合适的数据类型、确定索引等。这有助于提高查询性能和数据的访问效率。
- 填充汇总数据:将从DWD层中抽取的详细数据进行汇总,并填充到汇总表中。这可能涉及到定期的数据抽取、转换和加载过程,确保汇总数据的准确性和完整性。
- 维护汇总数据:汇总数据可能随着时间的推移而发生变化,因此需要建立相应的数据维护机制,包括更新、插入、删除等操作,以保持数据的最新和一致。
- 性能优化:为了提高汇总数据集市的查询性能,可以采取一系列性能优化措施,包括索引优化、分区管理、数据压缩等。
- 安全性管理:在设计DWS层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
TDM(Temporary Data Mart)临时数据集市
TDM层是临时性的数据存储层,用于存储临时性的数据,通常是一些中间计算结果或者临时性的数据文件。
TDM的概念:
- 临时数据存储:TDM层主要用于存储在数据处理过程中产生的临时数据,例如中间计算结果、临时数据文件等。这些数据通常是在数据清洗、转换、计算等阶段产生的,是数据处理过程中的中间产物。
- 支持数据流程:TDM层为数据处理流程提供了临时的数据存储功能,帮助管理数据处理过程中的中间结果。这有助于确保数据处理流程的连续性和可靠性。
- 减少重复计算:通过将中间计算结果存储在临时数据集市中,可以避免重复计算相同的数据,提高数据处理效率。
- 支持数据调试和分析:TDM层存储了数据处理过程中的中间结果,可以帮助开发人员进行数据调试和分析,发现数据处理中的问题和异常。
TDM的设计思路:
- 确定临时数据需求:首先需要明确数据处理流程中产生的临时数据的类型和需求。这可能涉及到与数据工程师、分析师等相关人员的沟通,了解数据处理流程和中间数据的特点。
- 设计临时数据模型:根据确定的临时数据需求,设计相应的临时数据模型。这包括定义临时数据的结构、格式、存储方式等。
- 选择存储技术:根据临时数据的特点和需求,选择合适的存储技术。这可能涉及到文件系统、数据库、内存数据库等不同的存储方式。
- 建立临时数据存储:根据设计的临时数据模型和选择的存储技术建立临时数据存储。这可能涉及到建立临时数据表、设置存储参数、优化存储性能等操作。
- 填充临时数据:将数据处理过程中产生的临时数据填充到临时数据存储中。这通常是在数据处理流程的中间阶段完成的,确保中间数据的可用性和一致性。
- 数据清理和维护:定期清理和维护临时数据存储,删除不再需要的临时数据,释放存储空间,确保系统的稳定性和性能。
- 安全性管理:在设计TDM层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
ADS(Application Data Store)应用数据存储
ADS层用于存储与特定应用程序相关的数据,通常包括应用程序的配置信息、日志数据等。
ADS的概念
- 与应用程序相关的数据存储:ADS层主要用于存储与特定应用程序相关的数据,例如应用程序的配置信息、用户会话数据、日志数据等。
- 提供给应用程序访问的数据接口:ADS提供了数据访问接口,供应用程序读写数据。这样,应用程序可以将数据存储在ADS中,或者从ADS中检索数据。
- 与业务逻辑紧密相关:ADS中存储的数据通常与应用程序的业务逻辑密切相关。这些数据可能包括用户信息、商品信息、订单信息等,用于支持应用程序的正常运行和业务功能实现。
ADS的设计思路
- 确定存储需求:首先需要明确应用程序的存储需求,确定需要存储哪些类型的数据。这可能涉及到与应用程序开发团队的沟通,了解应用程序的功能和数据存储需求。
- 设计数据模型:根据确定的存储需求,设计相应的数据模型。这包括定义存储的数据结构、字段、关系等。
- 选择存储技术:根据数据模型和性能要求选择合适的存储技术。这可能涉及到关系型数据库、NoSQL数据库、内存数据库等不同的存储方式。
- 建立数据存储:根据设计的数据模型和选择的存储技术建立数据存储。这可能涉及到创建数据库表、设置索引、优化性能等操作。
- 数据填充和初始化:在应用程序启动或初始化阶段,将必要的数据填充到数据存储中。这可能包括初始化配置信息、创建用户账户、加载基础数据等。
- 数据访问接口设计:设计数据访问接口,供应用程序读写数据。这可能涉及到API接口设计、数据库连接配置等。
- 安全性管理:在设计ADS层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
- 性能优化:为了提高ADS层的性能,可以采取一系列性能优化措施,包括索引优化、缓存机制、数据分区等。
TMP(Temporary Storage)临时存储层
TMP层用于存储临时性的数据,通常是一些处理过程中的临时文件或者缓存数据。
TMP的概念:
- 临时性存储:TMP层主要用于临时存储在数据处理过程中产生的数据,例如中间计算结果、临时文件、缓存数据等。这些数据通常是在数据处理过程中需要暂时存储或传递的,而不是长期存储的。
- 支持数据处理流程:TMP层为数据处理流程提供了临时的数据存储功能,帮助管理数据处理过程中的中间结果。这有助于确保数据处理流程的连续性和可靠性。
- 临时性数据传递:TMP层也可以用于临时性数据传递,例如在不同数据处理任务之间传递数据,或者在不同节点之间传递数据。这有助于提高数据处理的效率和灵活性。
TMP的设计思路
- 确定临时存储需求:首先需要明确数据处理过程中产生的临时数据的类型和需求。这可能涉及到与数据工程师、分析师等相关人员的沟通,了解数据处理流程和中间数据的特点。
- 选择临时存储技术:根据临时存储需求选择合适的临时存储技术。这可能涉及到文件系统、数据库、内存数据库等不同的存储方式。
- 建立临时存储空间:根据选择的临时存储技术建立临时存储空间。这可能涉及到创建临时文件夹、设置存储参数、优化存储性能等操作。
- 填充临时数据:将数据处理过程中产生的临时数据填充到临时存储空间中。这通常是在数据处理流程的中间阶段完成的,确保中间数据的可用性和一致性。
- 临时数据传递:如果需要在不同数据处理任务之间传递数据,或者在不同节点之间传递数据,可以利用临时存储空间进行临时性数据传递。
- 数据清理和维护:定期清理和维护临时存储空间,删除不再需要的临时数据,释放存储空间,确保系统的稳定性和性能。
- 安全性管理:在设计TMP层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
相关文章:
大数据设计为何要分层,行业常规设计会有几层数据
大数据设计通常采用分层结构的原因是为了提高数据管理的效率、降低系统复杂度、增强数据质量和可维护性。这种分层结构能够将数据按照不同的处理和应用需求进行分类和管理,从而更好地满足不同层次的数据处理和分析需求。行业常规设计中,数据通常按照以下…...
css3之2D转换transform
2D转换transform 一.移动(translate)(中间用,隔开)二.旋转(rotate)(有单位deg)1.概念2.注意点3.转换中心点(transform-origin)(中间用空格)4.一些例子(css三角和旋转) 三…...
pytest中文使用文档----6临时目录和文件
1. 相关的fixture 1.1. tmp_path1.2. tmp_path_factory1.3. tmpdir1.4. tmpdir_factory1.5. 区别 2. 默认的基本临时目录 1. 相关的fixture 1.1. tmp_path tmp_path是一个用例级别的fixture,其作用是返回一个唯一的临时目录对象(pathlib.Path…...
从0开始搭建基于VUE的前端项目
准备与版本 安装nodejs(v20.11.1)安装vue脚手架(vue/cli 5.0.8) ,参考(https://cli.vuejs.org/zh/)vue版本(2.7.16),vue2的最后一个版本 初始化项目 创建一个git项目(可以去gitee/github上创建ÿ…...
elementUI this.$msgbox msgBox自定义 样式自定义 富文本
看这个效果是不是很炫?突出重点提示内容,对于用户交互相当的棒! 下来说说具体实现: let self = this const h = self.$createElement; this.$msgbox({title: null,message: h("p", {style: "margin-top:10px"}, [h("i", {class: "el-i…...
Lua与Python区别
Lua和Python都是流行的编程语言,但它们在设计哲学、应用领域和性能特点上有所不同。以下是Lua和Python之间的对比: 1. **设计哲学**: - Lua被设计为一个轻量级的嵌入式脚本语言,重点在于简单性和效率。它有一个小巧的标准库,通…...
Python学习(二)
数据容器 数据容器根据特点的不同,如: 是否支持重复元素是否可以修改是否有序,等 分为5类,分别是: 列表(list)、元组(tuple)、字符串(str)、集…...
管理阿里云服务器ECS -- 网站选型和搭建
小云:我已经学会了如何登录云服务器ECS了,但是要如何搭建网站呢? 老王:目前有很多的个人网站系统软件,其中 WordPress 是使用非常广泛的一款,而且也可以把 WordPress 当作一个内容管理系统(CMS…...
WPF中继承ItemsControl子类控件数据模板获取选中属性
需求场景 列表类控件,如 ListBox、ListView、DataGrid等。显示的行数据中,部分内容依靠选中时触发控制,例如选中行时行记录复选,部分列内容控制显隐。 案例源码以ListView 为例。 Xaml 部分 <ListView ItemsSource"{Bi…...
Android卡顿掉帧问题分析之实战篇
本文将结合典型实战案例,分析常见的造成卡顿等性能问题的原因。从系统工程师的总体角度来看 ,造成卡顿等性能问题的原因总体上大致分为三个大类:一类是流程执行异常;二是系统负载异常;三是编译问题引起。 1 流程执行异…...
OpenKylin安装Kafka
一、操作系统 openKylin 1.0.1 X86 二、下载安装包 # 安装依赖jdk sudo apt-get update sudo apt-get install default-jdk # 下载kafka mkdir -p /data/software/kafka wget https://archive.apache.org/dist/kafka/2.4.1/kafka_2.13-2.4.1.tgz三、解压安装 # 解压缩Kafka…...
嵌入式硬件中常见的面试问题与实现
1 01 请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌) ▶电阻 美国:AVX、VISHAY威世 日本:KOA兴亚、Kyocera京瓷、muRata村田、Panasonic松下、ROHM罗姆、susumu、TDK 台湾:LIZ丽智、PHYCOM飞元、RALEC旺诠、ROYALOHM厚生、SUPEROHM美隆、TA-I大毅、TMT…...
【Node.JS】koa
文章目录 概述koa和express对比koa下载安装使用1.创建koa项目文件目录2. 创建koa服务3. 添加路由 koa-router4. 数据库服务 mongodb5. 添加请求参数json处理 koa-bodyparser6. 用户接口举例7.引入koa一些常用插件8.用户登录验证 koa-jwt9.webpack生产打包 来源 概述 Koa 是一个…...
工作日志- 不定期更新
1. protobuf中使用import引用其他proto文件,生成后在go语言的go modules中import 包名报错问题。 public.proto文件 //protoc --go_outpluginsgrpc:. public.proto syntax "proto3";package public;option go_package "self/game-service/msg/pu…...
Qt使用opencv打开摄像头
1.效果图 2.代码 #include "widget.h"#include <QApplication>#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>#include <QImage> #include <QLabel> #incl…...
Redis的Hash数据结构中100万对field和value,field是自增时如何优化?优化Hash结构。
ZipList使用是有条件的,当entry数据量太大时就会启用哈希结构,占用内存空间 1.设置bigkey的上限 在redis.config中设置 2.拆分为string类型 String底层结果没有太多优化,占用内存多 想要批量获取数据麻烦 3.拆分为小的hash 将id/100作为…...
二十四种设计模式与六大设计原则(一):【策略模式、代理模式、单例模式、多例模式、工厂方法模式、抽象工厂模式】的定义、举例说明、核心思想、适用场景和优缺点
目录 策略模式【Strategy Pattern】 定义 举例说明 核心思想 适用场景 优缺点 代理模式【Proxy Pattern】 定义 举例说明 核心思想 适用场景 优缺点 单例模式【Singleton Pattern】 定义 举例说明 核心思想 适用场景 优缺点 多例模式【Multition Pattern】…...
mac怎么删除python
mac 默认安装了python2;自己后面又安装了python3;为了方便,现在想将python3换成Anaconda3。 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 Python3安装之后,在系统中不同目…...
【笔记】Android U RILJ 中与运营商名称SPN显示相关的日志分析
源码阅读:AOSPXRef 常用日志关键字 Note:">"下发MD,"<"MD上报,[]中的id有请求和返回的对应关系 KEYComment> OPERATOR下发MD,请求运营商信息< OPERATORMD上报运营商注册信息> DA…...
蓝桥杯【奇怪的捐赠】c语言
我会将这题的解题的核心思路解为将10进制转化成7进制,毕竟题目上说的很清楚7的几次方 然后附上我认为的最优解 #include<stdio.h> int main() {int n 1000000;int sum 0;while (n ! 0){int a;a n % 7;n n / 7;sum a ;}printf("%d", sum);retu…...
【3月比赛合集】5场可报名的「创新应用」、「数据分析」和「程序设计」大奖赛,任君挑选!
CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 创新应用赛(2场比赛)数据分析赛&#…...
vue3 视频播放功能整体复盘梳理
回顾工作中对视频的处理,让工作中处理的问题的经验固化成成果,不仅仅是完成任务,还能解答任务的知识点。 遇到的问题 1、如何隐藏下载按钮? video 标签中的controlslist属性是可以用来控制播放器上空间的显示,在原来默…...
vue-ueditor-wrap上传图片报错:后端配置项没有正常加载,上传插件不能正常使用
如图所示,今天接收一个项目其中富文本编辑器报错 此项目为vue2项目,富文本编辑器为直接下载好的资源存放在public目录下的 经过排查发现报错的函数在ueditor.all.min.js文件内,但是ueditor.all.min.js文件夹是经过压缩的 所以直接ÿ…...
数据仓库的发展历程
数据仓库的概念可以追溯到20世纪60年代,但真正形成理论并被企业广泛应用还需要一个较长的发展过程。大致可以分为以下几个阶段: 决策支持系统(DSS)时期(1960s-1970s) 这一时期,随着管理信息系统(MIS)和电子计算机的兴起,企业开始尝试构建面向决策的数据处理系统。最初的决策支…...
MySQL开窗函数
测试环境:mysql8.0.18 官方文档:https://dev.mysql.com/doc/refman/8.0/en/window-functions.html 一、窗口函数介绍二、语法结构三、自定义窗口1.rows(重点)2.range3.默认窗口 四、常用窗口函数示例1.row_number & rank &…...
Java学习笔记(23)
多线程 并发 并行 多线程实现方式 1.继承Thread类 自己创建一个类extends thread类 Start方法开启线程,自动执行重写之后的run方法 2.实现runable接口 自己创建一个类implements runnable Myrun不能直接使用getname方法,因为这个方法是thread类的方法…...
nodejs下载安装以及npm、yarn安装及配置教程
1、nodejs下载安装 1.1、使用nodejs版本管理工具下载安装,可一键安装、切换不同nodejs版本, nvm-setup.zip:安装版,推荐使用 本次演示的是安装版。 1、双击安装文件 nvm-setup.exe 选择nvm安装路径 例如:E:\Soft…...
Playwright库page.evaluate()方法执行JavaScript 表达式
page.evaluate() 方法是 Playwright 中常用的方法之一,用于在页面上下文中执行 JavaScript 代码。它允许在浏览器环境中执行各种操作,如操作 DOM 元素、获取页面数据、执行复杂的计算等,并将结果返回到 Node.js 或 Python 代码中。 在 Playw…...
【微服务】OpenFeign+Sentinel集中处理远程调用异常
文章目录 1.微服务基本环境调整1.对10004模块的application.yml调整2.启动nacos以及一个消费者两个提供者3.测试1.输入http://localhost:8848/nacos/index.html 来查看注册情况2.浏览器访问 http://localhost:81/member/nacos/consumer/get/13.结果 2.使用OpenFeign实现微服务模…...
集合嵌套,Collections,斗地主案例,日志框架
文章目录 集合嵌套List嵌套ListList嵌套MapMap嵌套Map Collections类方法排序 sort 乱序 shuffle 斗地主案例需求思路代码 日志框架介绍优势体系结构Logback概述快速入门配置详解 集合嵌套 List嵌套List public static void main(String[] args){//一个年级有许多班级…...
土特产网站平台建设/门户网站软文
西雅图IT圈:seattleit【今日作者】PowerBall选号机身体和灵魂总有一个要走在买PowerBall的路上“你说说这些年轻人,上个班也不好好坐着,搞个standing desk站着,怎么不躺着呢?”当然是因为办公室里没地方躺啦——▼但是…...
长沙市网站制作多少钱/网站关键词优化方法
tasks.json 配置 解决vscode控制台乱码问题参考文章: (1)tasks.json 配置 解决vscode控制台乱码问题 (2)https://www.cnblogs.com/souphm/p/10870296.html 备忘一下。...
用dw建设个人网站视频/广东清远今天疫情实时动态防控
1.设有一个n*m方格的棋盘(1≤m,n≤100)。 求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。 求内切圆就是求正方形。 //xmin(m,n)-1 //长方形里面数正方形的个数计算公式:m*n(m-1)*(n-1).....(m-x)*(n-x…...
网页游戏排行榜前十推荐/seo怎么做关键词排名
kafka采坑记录: 1、kafka服务端server.properties中的broker.id集群内需要唯一。 2、kafka config文件中listeners和advertised.listeners需要配置本机ip:9092地址,不然消费不到数据。(如:192.168.217.128:9092) 3、java代码客户端…...
广告设计公司名称/重庆seo整站优化效果
实际上,百度官方已经有明确说法,不建议url中放置汉字,某些时候蜘蛛无法解析此类网址,就会影响网站的seo优化结果,详情如下: 从事SEO职业的人都知道页面URL的处理是优化过程中一个非常重要组成部分ÿ…...
久久建筑网会员/网站关键词优化公司哪家好
基本概念IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取, 它就通知该进程. IO多路复用适用如下场合:(1)当客户处理多个描述字时(一般是交互式输入和网络套接口), 必须使用I/O复用.(2)当一个客户同时处理多个套接口时, 而这种情况是可能的, 但很少出现.(3)如果…...