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

Power BI 傻瓜入门 1. 数据分析术语:Power BI风格

本章内容包括:

  • 了解Power BI可以处理的不同类型的数据
  • 了解您的商业智能工具选项
  • 熟悉Power BI术语

数据无处不在。从你醒来的那一刻到你睡觉的时候,某个系统会代表你收集数据。即使在你睡觉的时候,也会产生与你生活的某些方面相关的数据。如何处理这些数据通常是一个众所周知的6400万美元的问题。这些数据有意义吗?它有什么结构吗?数据集是否如此庞大,以至于找到你想要的东西就像大海捞针?或者,除非你有一个特殊的工具来帮助你导航,否则你甚至找不到你需要的东西?

我会坚定地肯定最后一个问题,这就是数据分析和商业智能加入派对的原因。老实说:如果数据总是代表你产生一些东西,那么这个政党可能会势不可挡。

请记住,处理数据并不总是一件烦人的事——探索数据也很有趣。有时很容易准确地找出解决问题需要什么,但在其他时候,你需要戴上你的福尔摩斯猎鹿帽。为什么?因为你正在处理的数据可能缺乏结构和意义。当然,你一定要拿起工具来帮助你扮演侦探、评估者、设计师和负责人的角色。

在本章中,我将讨论您在旅程中可能遇到的不同类型的数据。回顾你应该提前熟悉的关键术语。别担心:你不需要背字典。你将学习一些关键概念,让您在Power BI和商业智能方面处于领先地位。

什么是数据?

问一个房间里的一百个人数据的定义是什么,你可能会得到一百个不同的答案。为什么?因为,在商业世界里,数据对很多不同的人来说意味着很多不同的东西。所以,让我们试着得到一个精简的回应。数据包含事实。有时,事实是有道理的;有时,除非你添加一点上下文,否则它们毫无意义。

事实有时可以是数量、字符、符号,或者在收集信息时汇集在一起的各种组合。这些信息让人们——更重要的是,让企业——能够理解事实,除非把这些事实放在一起,否则毫无意义。

当您的信息系统中充满了业务数据时,您还必须有一组可以使用的唯一数据标识符,这样在搜索时,就可以很容易地以事务的形式理解数据。交易的例子可能包括完成的工作数量、处理的查询、收到的收入和发生的费用。

列表可以一直列出。要深入了解业务互动并进行分析,您的信息系统必须具有最高质量的相关及时数据。

记住,数据与信息不同。数据是原始事实。这意味着您应该根据关系数据库中可能找到的单个字段或数据列来考虑数据,或者可能是存储在文档存储库中的松散文档(用一些称为元数据的描述符标记)。就其本身而言,这些项目对你或企业来说都不太可能有多大意义。有时候,这完全没问题。信息是所有这些数据部分的集体,这导致事实具有逻辑意义。

使用结构化数据

您是否打开过数据库或电子表格,并注意到数据绑定到特定的列或行?例如,你能找到一个包含字母表中字母的美国邮政编码吗?或者,当你想到名字、中间首字母和姓氏时,你会注意到你总是在这些特定的字段中找到字母。另一个例子是,当您可以在字段中输入的字符数受到限制时。把Y看作是;N代表否。其他任何事情都无关紧要。

我在这里描述的是结构化数据。当您评估结构化数据时,您会注意到它符合表格格式,这意味着每一列和每一行都必须保持相互关系。因为每个列都有一个代表性的名称,该名称符合预定义的数据模型,所以分析数据的能力应该很简单。

如果您使用Power BI,您会注意到结构化数据符合具有行和列的表的正式规范,通常称为数据模式。在图1-1中,您可以看到一个出现在MicrosoftExcel电子表格中的结构化数据示例。

请记住,无论您是将Power BI用于个人分析、教育目的还是业务支持,BI工具最易访问的数据源都是结构化的。提供强大结构化数据选项的平台包括Microsoft SQL Server、Microsoft Azure SQL Server、微软Access、Azure表存储、Oracle、IBM DB2、MySQL、PostgreSQL、Microsoft Excel和谷歌表单。

查看非结构化数据

非结构化数据是模糊的,没有任何韵律、理由或一致性。假装你正在看一批照片或视频。是否存在可以与视频或照片关联的明确数据点?也许,因为文件本身可能由一个结构组成,并由一些元数据组成。然而,副产品本身——所代表的描绘--是独一无二的。数据不可复制;因此,它是非结构化的。这就是为什么任何视频、音频、照片或文本文件都被视为非结构化数据的原因。

将半结构化数据添加到组合中

半结构化数据确实有一些形式,但它不是存储在关系系统中的,也没有固定的格式。包含数据的字段绝不能整齐地组织成战略性放置的表、行或列。相反,半结构化数据包含的标签使数据更容易以某种形式的层次结构进行组织。非关系数据系统或NoSQL数据库最好与半结构化数据相关联,在半结构化数据中,编程代码通常是序列化的,由技术要求驱动。没有硬性的编码实践。

对于使用半结构化语言的商业智能开发人员来说,序列化编程实践可以帮助编写复杂的代码。
无论目标是将数据写入文件、将数据片段发送到另一个系统,还是解析可翻译的数据以用于结构化消费,半结构化数据都具有商业智能系统的潜力。如果序列化语言能够交流并使用相同的语言,那么半结构化数据集就有很大的潜力。

Power BI平台

Power BI是一款将许多较小的、基于云的应用程序和服务结合在一起的产品,其特定目标是:组织、收集、管理和分析大型数据集。大数据是一个概念,业务和数据分析师将评估超大的数据集,这些数据集可能揭示与人类行为和互动相关的模式和趋势,如果不使用特定工具,这些模式和趋势是不容易识别的。一个典型的大数据集合通常以数百万条记录表示。与Microsoft Excel等工具不同,Power BI可以同时评估许多数据源和数百万条记录。来源也不需要使用电子表格进行结构化。它们可以包括非结构化和半结构化数据。在将这些数据源汇集在一起并进行处理后,Power BI可以帮助您以图表、图形、报告、仪表板和KPI的形式提供视觉上引人注目的输出。

Power BI不仅仅是一个单一的源应用程序。它有桌面、在线和移动组件。

请记住,在Power BI平台上,您肯定会在某个时候遇到以下一种(或多种)产品:

  • Power Query: 一种数据连接工具,可用于转换、组合和增强多个数据源中的数据
  • Power Pivot:数据建模工具
  • Power View:可用于生成交互式图表、图形、地图和视觉效果的数据可视化工具
  • Power Map:用于创建三维地图渲染的可视化工具
  • Power Q&A: 一个人工智能引擎,可以让你用简单的语言提问并收到回复
  • Power BI Desktop: 一个免费的一体化解决方案,将此列表中描述的所有应用程序整合到一个图形用户界面中。
  • Power BI Services:基于云的用户体验,可与他人协作和分发报告等产品
在以下几节中,我将帮助您深入了解每种产品的核心功能。

Power Query

在Power BI成为自己的产品线之前,它最初是Excel的高级查询和数据处理插件,大约在2010年。直到2013年左右,微软才开始将Power BI作为自己的产品线进行测试,并于2015年7月正式推出Power BI桌面和服务。转换到专用产品的理由之一是需要一个更健壮的查询编辑器。使用Excel编辑器,它是一个单一的数据源,而使用Power BI的Power Query,您可以从多个数据源提取数据,也可以从关系源读取数据,如SQL Server Enterprise、Azure SQL Server、Oracle,MySQL、DB2和许多其他平台。如果您希望从非结构化、半结构化或应用程序源(如CSV文件、文本文件、Excel文件、Word文档、SharePoint文档库、Microsoft Exchange Server、Dynamics 365或Outlook)中提取数据,Power Query也可以实现这一点。而且,如果你可以访问API服务,这些服务映射到LinkedIn、Facebook或Twitter等平台上的特定数据字段,你也可以使用Power Query来挖掘这些平台。

无论您让Power Query做什么,过程都基本相同:它通过添加列、行、数据类型、日期和时间、文本字段以及适当的运算符来转换您指定的数据(根据需要使用图形用户界面)。Power Query通过获取一个广泛的数据集来管理这种转换,该数据集只不过是一堆原始数据(当然,通常是杂乱无章的,让你感到困惑),然后通过将其组织成表、列和行以供消费来创造一些商业意义。然后,编辑器中Power Query输出生成的产品可以传输到可移植文件(如Excel)或更强大的文件(如Power Pivot模型)。

技术在Power Query场景背后工作的是一种名为M的公式语言。尽管M从未在图形用户界面中显示过它的脸,但它肯定在那里并完成了它的工作。我在接下来的几章中简要介绍了M,这样您就可以看到在Power BI中在结构化、半结构化和非结构化数据集之间快速转换数据时,机制是如何工作的。

Power Pivot建模

Power BI的数据建模工具名为Power Pivot。使用它,您可以创建诸如星形模式、计算度量和列之类的模型,并构建复杂的关系图。Power Pivot利用了另一种编程语言,简称DAX。DAX是一种基于公式的语言,用于数据分析。您很快就会发现,作为一种语言,它充满了有用的函数,所以请继续关注。

Power View可视化

Power BI的可视化引擎是Power View。这里的想法是连接到数据源,获取和转换数据进行分析,然后让Power View使用其众多可视化选项中的一个来呈现输出。Power View使用户能够筛选单个变量或整个报表的数据。用户可以在可变级别对数据进行切片,甚至可以在Power View中分解元素,像激光一样聚焦在可能被视为异常的数据上。

使用Power Map映射数据

有时,可视化数据需要的不仅仅是条形图或表格。也许您需要一个将地理空间坐标与三维需求集成在一起的地图。假设你想在热图的帮助下,通过测量列的高度和宽度,或者基于统计参考来增加数据的维度。在这种情况下,您肯定需要考虑Power BI的Power Map功能集。Power Map中的另一个功能是使用Microsoft Bing的地理空间功能,这是微软的外部搜索引擎技术,包括绘制位置的功能。用户可以使用地理坐标纬度和纵向数据来突出显示数据,这些数据可以像地址一样精细,也可以像国家一样全局。

Power Q&A解释数据

对许多用户来说,最大的挑战之一是数据解释。例如,假设您使用Power Pivot构建了这个令人难以置信的数据模型。现在怎么办?您的数据样本在大小方面通常非常重要,这意味着您需要某种方式来理解您在模型中部署的所有数据。这就是为什么微软创建了一个自然语言引擎,一种解释文本、数字甚至语音的方法,用户可以直接查询数据模型。

请记住,Power Q&A与Power View直接配合使用。

Power Q&A可以提供巨大帮助的一个典型例子是,确定有多少用户在给定的商店位置购买了特定的商品。如果你想进一步深入了解,你可以分析一整套指标——例如,询问商品是否有几种颜色或尺寸,或者指定一周中哪一天的商品销量最高。只要你已经建立了数据模型来适应这些问题,那么可能性是无限的。

Power BI Desktop

所有这些Power BI平台都是很棒的想法,但真正了不起的想法是将Power Query、Power Pivot、Power View和Power Q&A捆绑在一起,形成Power BI Desktop。使用Power BI Desktop,您可以完成所有商业智能活动。您还可以更轻松地开发BI和数据分析活动。最后,Microsoft每月更新Power BI Desktop功能,让您始终处于BI前沿。

Power BI Services

随着时间的推移,Power BI Services的产品名称不断演变。当该产品处于测试阶段时,它被称为Power BI网站。如今,您经常听到被称为Power BI Online或Power BI Services的产品。
无论您怎么称呼它,它都是Power BI的“软件即服务”配套产品。可访问https://app.powerbi.com,Power BI Services允许用户从一个位置与其他用户协作并共享他们的仪表板、报告和数据集。

请记住,您已获得授权的Power BI版本决定了您共享和接收数据的能力。

了解您的Power BI术语

无论是微软还是其他供应商创建的,你遇到的每一种产品都有自己的术语。它可能看起来像是一门外语,但如果你访问供应商的网站并进行简单的搜索,你一定会找到一个词汇表,它能解释所有这些神秘术语的含义。

毫不奇怪,微软也有自己的Power BI词汇表。(这些人把术语称为概念)。在你继续你的Power BI之旅之前,让我们先了解一下情况。在Microsoft Power BI中,无论您是谁,一些概念都会在供应商中引起共鸣。例如,所有供应商都将报告和仪表板作为关键概念。现在,是否所有其他供应商都采用了微软的做法,并将数据流称为一种工作流?不完全是。它们都有这些特定功能的名称,尽管所有这些功能通常以相同的方式工作。

提示:微软在坚持主流名称的关键概念方面做得很好。尽管如此,一些特定于人工智能/机器学习和安全的更高级的产品功能采用了微软产品的精简行话,如Azure Active Directory或Azure机器学习。

容量Capacities

当涉及到数据时,你首先想到的是什么?是类型还是数量?还是两者都考虑?对于Power BI,您必须熟悉的第一个概念是容量,而容量是Power BI的核心。您会问,为什么?容量是您完成可能在Power BI中创建的任何项目所需的资源总和。资源包括托管和交付Power BI项目所需要的存储、处理器和内存。

容量有两种类型:共享容量和专用容量。共享容量允许您与其他Microsoft最终用户共享资源。专用能力将资源完全投入到您身上。尽管免费和付费Power BI用户都可以使用共享容量,但专用容量需要Power BI高级订阅。

工作区Workspaces

工作空间是与同事协作和共享内容的一种方式。无论是个人还是协作,您创建的任何工作空间都是基于容量创建的。将工作区视为一个容器,允许您在Power BI Services环境中管理仪表板、报告、工作簿、数据集和数据流的整个生命周期。(图1-2显示了一个My Workspace,它是Power BI工作区的一个特殊示例。)

请记住,“我的工作区”并不是唯一可用的工作区类型。您也可以选择合作。如果您想合作,您别无选择,只能升级到Power BI Pro或Premium计划。协作附带的功能包括与团队一起创建和发布基于Power BI的仪表板、报告、工作簿、数据集和应用程序。

还记得要上传您使用Power BI Desktop创建的作品吗?或者你可能需要在不与任何人合作的情况下在线操作工作?如果任何一个问题的答案都是肯定的,那么我的工作区就是所有必要的。您只需要使用Power BI在线免费许可证。一旦你想与他人合作,你就需要升级到付费专业版或高级版订阅。

所以现在您知道您的工作存储在一个工作空间中。下一个问题:工作区中的数据会发生什么?答案有两个:这是你作为用户所看到的,然后是作为数据转换过程的一部分在幕后发生的事情。让我们先从幕后活动开始。

数据流是一组表,用于收集导入Power BI的数据集。作为Power BI服务的一部分,在工作区中创建和管理这些表后,您可以在数据流中添加、编辑和删除数据。数据刷新也可以使用预定义的时间表进行。请记住,Power BI使用Azure数据湖,这是一种存储Power BI快速评估、处理和分析数据所需的大量数据的方式。当数据集体积庞大时,Azure Data Lake也有助于快速清理和转换数据。

与数据流(您可能还记得,数据流是表的集合)不同,数据集应该被视为数据源集合中的单个资产。将数据集视为数据的子集。当与数据流一起使用时,数据集会映射到托管的Azure数据湖。它可能包括数据湖中的部分或全部数据。数据的粒度变化很大,这取决于可用数据集的速度和规模。

分析师或开发人员可以在构建他们想要的输出(如报告)时提取数据。有时,可能需要多个数据集,在这种情况下可能需要进行数据流转换。另一方面,有时多个数据集可以利用Azure数据湖中的同一数据集。在这种情况下,几乎不需要进行任何转换。

请记住,在您自己操作数据后,您必须发布您在Power BI中创建的数据。Microsoft认为您打算在用户之间共享数据。如果目的是共享数据集,则假设需要Pro或Premium许可证。

报表Reports

数据可以无限期地存储在系统中并保持空闲。但是,如果系统中的数据没有被不时地查询,这样像你我这样的用户就能理解数据的含义,那又有什么好处呢?假设你在一家医院工作。您需要查询员工数据库,以了解在紧急情况下,有多少员工在距离工厂五英里的范围内工作。这时,您可以使用Power BI报告快速(而不是扭曲速度)创建数据集的摘要。当然,可能有几百条或数万条记录,当然都是独一无二的,但这些记录都是为了帮助医院在紧急情况下回家,无论是在街区尽头、五英里外还是五十英里外,谁都可以亲自动手。

Power BI Reports将这些数据转换为一个或多个可视化页面——折线图、条形图、圆环图、树图——你能想到的。您可以在高级别上评估数据,也可以关注特定的数据子集(如果您事先设法查询了数据集)。您可以通过多种方式创建报告,从使用单个源获取数据集、从头开始创建输出到从多个源导入数据。这里的一个例子是使用Power View工作表连接到Excel工作簿或Google Sheets文档。从那里,Power BI从整个源中获取数据,并对其进行理解。结果是一个基于导入数据的报告(见图1-3),使用报告作者建立的预定义配置。

提示: Power BI提供两种报告视图模式:阅读视图和编辑视图。打开报表时,它将在“阅读”视图中打开。如果授予“编辑”权限,则可以编辑报告。当报表位于工作区中时,任何具有管理、成员或贡献者权限的用户都可以编辑报表。

技术管理、成员或贡献者访问权限授予您在编辑视图中探索、设计、构建和共享功能的权限。访问这些特权用户创建的报告的用户可以在只读模式下与报告交互。这意味着他们不能编辑它
--他们只能查看输出。特权用户创建的报告可以在工作区的Reports选项卡下访问,如图1-4所示。每个报告表示一个单独的页面可视化,这意味着它只基于一个数据集。

仪表板Dashboard

如果你有任何使用Power BI的经验,你已经知道它是一个高度可视化的工具。Power BI仪表板(也称为Canvas)的视觉特性使您的数据故事栩栩如生。如果你想把数据拼图的所有部分都拿出来,捕捉一个时刻,你可以使用仪表板。把它想象成一块空白的画布。随着时间的推移,当您构建报告、小部件、瓦片和关键性能指标(KPI)时,您可以将喜欢的内容固定到仪表板上,以创建单个可视化。仪表板代表了一个大数据集,您觉得该数据集涵盖了您的主题。因此,它可以帮助您做出决策,支持您监控数据,或者通过应用不同的可视化选项来深入数据集。

若要访问特定的面板,必须首先打开一个工作区。然后,您所需要做的就是单击您正在使用的任何应用程序的“仪表板”选项卡。请记住,每个仪表板都代表底层数据集的自定义视图。要定位您的个人仪表板,请转到“我的工作空间”选项卡(见图1-5),然后选择“仪表板”查看可用内容。

请记住,如果您拥有仪表板,则您有权对其进行编辑。否则,您只有只读访问权限。您可以与其他人共享仪表板,但他们可能无法保存任何更改。但是,请记住,如果您想与同事共享仪表板,您至少需要Power BI Pro许可证。(有关许可的来龙去脉,请参阅第3章。)

导航面板Navigate Pane

在这一章中,我讨论了PowerBI中许多必须了解的概念,但我把最好的概念——导航窗格——留到最后。为什么导航窗格是最好的?易于理解的到目前为止,我在本章中讨论的所有功能都是导航窗格中的标签。(请参见图1-6。)例如,您可以使用导航窗格来完成操作,以定位工作区和您想要使用的各种Power BI功能(仪表板、报告、工作簿、数据集)并在它们之间移动--无论什么

您的导航窗格选项无穷无尽。例如,用户可以

  • 展开并折叠“导航”窗格。
  • 借助“收藏夹”选项打开和管理您喜爱的内容。
  • 查看并打开最近访问的内容部分。

商业智能(BI):定义

本章前面的部分旨在让您对Power BI的组成部分有一个基本的了解。现在是时候明确定义一个流传已久但从未真正解释过的术语了:商业智能。许多IT供应商对商业智能的定义不同。他们通过在定义中注入他们的工具行话来对这个术语进行解释。例如,如果你去微软网站,你一定会发现一两个页面对商业智能有着纯粹的定义,但你也会发现大量页面详细介绍了如何将Power BI平台解决方案应用于每一个可能的商业问题。

因此,让我们避开供应商网站,坚持对商业智能的简单定义:简单地说,这是企业为了能够分析当前和历史数据而使用的东西。在整个数据分析过程中,希望组织能够发现为企业未来做出正确决策所需的见解。通过使用可用工具的组合,一个组织可以处理多个数据源的大型数据集,以便得出可以提交给上级管理层的结果。使用企业BI工具,感兴趣的各方可以通过报告、仪表盘和KPI生成可视化效果,以此将其增长战略建立在事实世界中。许多工具允许组之间的协作和共享,因为数据会随着时间的推移而变化。

请记住,我在本章中介绍的几乎每一个概念都是定义的一部分,这就是为什么我在介绍BI定义之前介绍这个术语。那些专门针对Microsoft Power BI的术语被故意排除在商业智能的定义之外。当你继续阅读这本书并沉浸在Power BI的使用中时,我提供的一些课程与工具无关:我指的是哪家供应商的商业智能产品并不重要。其他时候,你知道什么时候的建议是针对Power BI的,因为这些评论是有指导意义的。

请记住,不久前,企业不得不手动执行许多任务。还记得那些日子吗?BI工具现在通过减少完成日常任务的工作量来节省时间。现在可以采取四种操作将原始数据转换为易于访问的数据:

  • 收集和转换数据:当使用多个数据源时,BI工具允许您从结构化和非结构化源中提取、转换和加载(ETL)数据。该过程完成后,您可以将数据存储在中央存储库中,以便应用程序可以分析和查询数据。
  • 分析数据以发现趋势:数据分析一词可以指很多事情,从数据发现到数据挖掘。然而,业务目标是一样的:这一切都归结为数据集的大小、自动化过程和模式分析的目标。BI通常为用户提供各种建模和分析工具。一些配备了可视化选项,另一些则提供了用于探索性、描述性、预测性、统计性甚至认知评估分析的数据建模和分析解决方案。所有这些工具都可以帮助用户探索过去、现在和未来的数据。
  • 使用可视化选项以提供数据清晰度:您可能在一个或多个存储库中存储了大量数据。查询要在用户和组之间理解和共享的数据是商业智能工具的实际价值。可视化选项通常包括报告、仪表板、图表、图形、映射、关键性能指标和数据集。
  • 采取行动并做出决策:这个过程是所有数据触手可及,从而做出可操作的决策。公司通过对数据集进行深入了解来采取行动。他们以块为单位解析数据,审查数据的子集,并可能做出重大决策。这就是为什么公司接受商业智能的原因——因为有了它的帮助,他们可以快速降低效率,纠正问题,并调整业务以支持市场条件。

相关文章:

Power BI 傻瓜入门 1. 数据分析术语:Power BI风格

本章内容包括: 了解Power BI可以处理的不同类型的数据了解您的商业智能工具选项熟悉Power BI术语 数据无处不在。从你醒来的那一刻到你睡觉的时候,某个系统会代表你收集数据。即使在你睡觉的时候,也会产生与你生活的某些方面相关的数据。如…...

【C++和数据结构】位图和布隆过滤器

目录 一、位图 1、位图的概念 2、位图的实现 ①、基本结构 ②、set ③、reset: ④、test ⑤、问题: ⑥、位图优缺点及应用: ⑦、完整代码及测试 二、布隆过滤器 1、布隆过滤器的提出 2、布隆过滤器的实现 ①、基本结构 ②…...

Mybatis分页

本文主要讲解Mybatis分页相关的技术分享,如果觉得不错的话,就点个赞吧。。。。 Mybatis分页主要有2种类型: 一、物理分页: 1、定义: 物理分页是在数据库层面进行的分页,即通过SQL语句直接从数据库中查询…...

手写SVG图片

有时候QT中可能会需要一些简单的SVG图片,但是网上的质量参差不齐,想要满意的SVG图片,我们可以尝试直接手写的方法. 新建文本文档,将以下代码复制进去,修改后缀名为.svg,保存 <?xml version"1.0" encoding"utf-8"?> <svg xmlns"http://www…...

LVS负载均衡及LVS-NAT模式

一、集群概述 1.1 集群的背景 集群定义&#xff1a;为解决某个特定问题将多个计算机组合起来形成一个单系统 集群目的&#xff1a;为了解决系统的性能瓶颈 集群发展历史&#xff1a; 垂直扩展&#xff1a;向上扩展&#xff0c;增加单个机器的性能&#xff0c;即升级硬件 水…...

【Java集合类面试八】、 介绍一下HashMap底层的实现原理

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a; 介绍一下HashMap底层的…...

linux 安装操作 redis

1、redis概述和安装 1.1、安装redis 1. 下载redis 地址 https://download.redis.io/releases/ 2. 将 redis 安装包拷贝到 /opt/ 目录 3. 解压 tar -zvxf redis-6.2.1.tar.gz4. 安装gcc yum install gcc5. 进入目录 cd redis-6.2.16. 编译 make7. 执行 make install 进…...

博客后台模块续更(五)

十一、后台模块-菜单列表 菜单指的是权限菜单&#xff0c;也就是一堆权限字符串 1. 查询菜单 1.1 接口分析 需要展示菜单列表&#xff0c;不需要分页。可以针对菜单名进行模糊查询。也可以针对菜单的状态进行查询。菜单要按照父菜单id和orderNum进行排序 请求方式 请求路径…...

手写一个PrattParser基本运算解析器4: 简述iOS的编译过程

点击查看 基于Swift的PrattParser项目 iOS项目的编译过程与PrattParser解析器 前面三篇我们看到了PrattParser解析器的工作原理, 工作过程, 我们了解到PrattParser解析器实际上是模拟了编译过程中的 词法分析 、语法分析 、语义分析 、 中间代码生成 这几个编译前端过程. 那么P…...

【Java集合类面试六】、 HashMap有什么特点?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;HashMap有什么特点&…...

基于LSTM的天气预测 - 时间序列预测 计算机竞赛

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 机器学习大数据分析项目 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/po…...

SpringBoot AOP + Redis 延时双删功能实战

一、业务场景 在多线程并发情况下&#xff0c;假设有两个数据库修改请求&#xff0c;为保证数据库与redis的数据一致性&#xff0c;修改请求的实现中需要修改数据库后&#xff0c;级联修改Redis中的数据。 请求一&#xff1a;A修改数据库数据 B修改Redis数据 请求二&#xff…...

【Java集合类面试七】、 JDK7和JDK8中的HashMap有什么区别?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;JDK7和JDK8中的HashMap有…...

el-tree 获取过滤后的树结构

正常来说element框架应该返回的&#xff0c;但实际上没有&#xff0c;只能自己处理了 递归处理&#xff0c;思路就是赋值&#xff0c;如果是自己过滤到的数据就push进去&#xff0c;不是就不要 let newCheckTree [] let tree get_tree(treeData,newCheckTree); //获取过滤…...

Windows连接SFTP服务

最近有个新需求需要通过SFTP方式连接到一个FTP中下载相关内容 1.使用命令行方式 在cmd中使用如下命令 sftp -P [port] [username]ip #示例 sftp -P 666 ftp123.123.123.123然后弹出的提示输入yes&#xff0c;再输入密码就可以了。 2.使用资源管理器方式 普通FTP可以使用资源…...

《红蓝攻防对抗实战》五.内网探测协议出网之DNS协议探测出网

DNS&#xff08;Domain Name System&#xff09;即域名解析系统&#xff0c;可将域名解析到对应访问IP。下面我们还是以系统自带命令为案例&#xff0c;进行演示DNS协议探测出网。 目录 一.Windows系统探测DNS协议出网 二.Linux系统探测DNS协议出网 1. Dig命令 2.Nslookup命…...

计算机算法分析与设计(18)---回溯法(介绍、子集和问题C++代码)

文章目录 一、回溯法介绍二、子集和问题2.1 知识概述2.2 代码编写 一、回溯法介绍 1. 回溯法&#xff08;back tracking&#xff09;是一种选优搜索法&#xff0c;又称为试探法&#xff0c;有“通用的解题法”之称&#xff0c;按选优条件向前搜索&#xff0c;以达到目标。但当探…...

[Hive] explode

在 Hive 中&#xff0c;explode 函数用于将数组&#xff08;Array&#xff09;或者Map类型的列拆分成多行&#xff0c; 每个元素或键值对为一行。这允许我们在查询中对数组或 Map 进行扁平化操作。 下面是使用 explode 函数的示例&#xff1a; 假设我们有一个包含数组字段的表…...

2023年10月22日找工作面试交流遇到的基本问题

交叉编译解决的痛点问题 不同硬件体系结构之间的编译问题。嵌入式系统开发需要在主机上编写代码。提高效率和节省时间。软件移植和管理依赖关系。 不同硬件体系结构之间的编译问题&#xff1a;例如&#xff0c;你开发了一个针对Intel x86架构的应用程序&#xff0c;但想要在Ra…...

如何判断要不要用振动技术来进行设备预测性维护

在现代工业设备运行过程中&#xff0c;及时发现设备故障并进行维修对于确保生产线的正常运行至关重要。振动分析技术作为一种先进的设备监测和预测性维护方法&#xff0c;通过实时监测和分析设备的振动信号&#xff0c;可以提前发现潜在故障&#xff0c;降低停机时间和维护成本…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...

数据库——redis

一、Redis 介绍 1. 概述 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的、高性能的内存键值数据库系统&#xff0c;具有以下核心特点&#xff1a; 内存存储架构&#xff1a;数据主要存储在内存中&#xff0c;提供微秒级的读写响应 多数据结构支持&…...