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

使用 Amazon Redshift Serverless 和 Toucan 构建数据故事应用程序

986c6759a5b4c3da2ac9087e00f88d87.gif

这是由 Toucan 的解决方案工程师 Django Bouchez与亚马逊云科技共同撰写的特约文章。

带有控制面板、报告和分析的商业智能(BI,Business Intelligence)仍是最受欢迎的数据和分析使用场景之一。它为业务分析师和经理提供企业的过去状态和当前状态的可视化,帮助领导者制定将影响企业未来发展的战略决策。但是,客户仍想通过更好的方式用他们的数据讲故事,从而提高其 BI 工具的采用率。

市场上的大多数 BI 工具都提供了一组详尽的自定义选项来构建数据可视化。这可能看起来是个好主意,但最终会给业务分析师带来负担,因为他们在撰写报告之前需要探索无限的可能性。分析师不是图形设计师,设计不当的数据可视化可能会隐藏它想传达的见解,甚至误导观看者。要从数据中获得更多价值,您应专注于构建用于讲述故事且受众易于理解的数据可视化。这正是引导式分析的作用所在。它不提供无限的自定义选项,而是通过强制实施设计最佳实践来有意地限制选择。引导式体验非常简单,这使业务分析师能够花更多的时间来生成实际见解,而无需担心如何呈现这些见解。

这篇文章阐明了引导式分析的概念,并向您说明了如何使用 Amazon Redshift Serverless 和亚马逊云科技合作伙伴 Toucan 来构建数据讲故事应用程序。Toucan 与 Redshift Serverless 原生集成,这使您能够在几分钟内部署可扩展的数据堆栈,而无需管理任何基础设施组件。

Amazon Redshift 是一项完全托管式云数据仓库服务,可让您分析大量结构化和半结构化数据。Amazon Redshift 可以从几 GB 大小的数据仓库扩展到 PB 级数据仓库,亚马逊云科技最近已宣布在全球范围内推出 Redshift Serverless,这使其成为以可扩展且经济高效的方式存储数据和运行临时分析的最佳选择之一。

利用 Redshift Serverless,您可以通过运行独立的 SQL 查询或使用数据可视化工具(例如 Amazon QuickSight、Toucan 或其他第三方选项)来获得数据见解,而无需管理数据仓库基础设施。

Toucan 是一个基于云的引导式分析平台,专门用于降低向业务用户提供数据见解的复杂性。为此,Toucan 在数据讲故事应用程序的每个阶段(包括数据连接、构建可视化以及在任意设备上分发)提供无代码的、全面的用户体验。

如果您很着急,想看看可以用此集成做什么,请查看亚马逊云科技和 Toucan 的诈骗者攻击可视化(https://louishourcade.github.io/aws-toucan-website/),其中 Redshift Serverless 和 Toucan 可以帮助您了解全球诈骗者攻击的演变。

解决方案概览

市场上推出了多种 BI 工具,每种工具都提供了一组日益增加的功能和自定义选项,以便能够在竞争中脱颖而出。自相矛盾的是,这似乎并没有提高企业内的 BI 工具采用率。利用更复杂的工具,数据拥有者会花时间构建精美的视觉效果,并倾向于在控制面板中添加尽可能多的信息,而不是向业务用户提供简单易懂的信息。

在这篇文章中,我们将从一名数据工程师的角度说明引导式分析的概念,该工程师需要通过数据可视化向业务用户传达故事。这名虚构的数据工程师必须创建控制面板来了解诈骗者攻击在过去 120 年中的演变情况。在 Redshift Serverless 中加载诈骗者攻击数据集后,我们将指导您使用 Toucan 撰写故事,以便更好地说明诈骗者攻击随着时间的推移的演变情况。借助 Toucan,您可以与 Redshift Serverless 中的数据集进行原生连接,使用无代码界面转换数据,构建讲故事视觉效果,然后发布它们以供业务用户使用。诈骗者攻击可视化示例(https://louishourcade.github.io/aws-toucan-website/)说明了按照这篇文章中的说明操作可实现的目标。

此外,我们还录制了一个视频教程(https://youtu.be/rIcUjUKkz20),说明如何将 Toucan 与 Redshift Serverless 连接并开始构建图表。

解决方案架构

下图描绘了我们的解决方案架构。

dac8ed1123396d740a4c28f586c41f39.png

我们使用 Amazon CloudFormation 堆栈在您的 Amazon 账户中部署所需的所有资源:

  • 联网组件– 这包括一个 VPC、三个公共子网、一个互联网网关和一个用于托管 Redshift Serverless 端点的安全组。在这篇文章中,我们使用公共子网来促进来自外部来源(例如 Toucan 实例)的数据访问。在这种情况下,Redshift Serverless 中的数据仍由可限制传入流量的安全组和数据库凭证提供保护。对于生产工作负载,建议将流量保留在 Amazon 网络中。为此,您可以在私有子网中设置 Redshift Serverless 端点,并通过 Amazon Marketplace 在您的 Amazon 账户中部署 Toucan。

  • Redshift Serverless 组件– 这包括 Redshift Serverless 命名空间和工作组。Redshift Serverless 工作区可供公开访问,以便于从 Toucan 实例进行连接。数据库名称和管理员用户名在部署 CloudFormation 堆栈时被定义为参数,而管理员密码是在 Amazon Secrets Manager 中创建的。在这篇文章中,我们使用数据库凭证连接到 Redshift Serverless,但 Toucan 还支持与 Amazon 凭证和 Amazon Identity and Access Management(IAM)配置文件连接。

  • 自定义资源 – CloudFormation 堆栈包含一个自定义资源,此资源是一个 Amazon Lambda 函数,在创建 CloudFormation 堆栈时,该函数自动将诈骗者攻击数据加载到 Redshift Serverless 数据库中。

  • IAM 角色和权限– 最后,CloudFormation 堆栈包括与前面提到的服务相关的所有 IAM 角色,以便与您账户中的其他 Amazon 资源进行交互。

在以下部分中,我们将提供在 Redshift Serverless 中将 Toucan 与数据连接的所有说明,并指导您构建数据讲故事应用程序。

示例数据集

在这篇文章中,我们使用一个自定义数据集,其中列出了从 1900 年开始的所有全球已知的诈骗者攻击事件。您无需自行导入数据;在部署 CloudFormation 堆栈时,我们使用 Amazon Redshift COPY 命令加载数据。COPY 命令是用于将数据加载到 Amazon Redshift 的最快、最可扩展的方法之一。有关更多信息,请参阅使用 COPY 命令加载数据。

该数据集包含 4900 条记录与下面的列:

  • 日期

  • 十年

  • 世纪

  • 类型

  • Zone_Type

  • 区域

  • 国家/地区

  • 活动

  • 性别

  • 年龄

  • 重大

  • 时间

  • 种类

  • href(包含上下文描述的 PDF 链接)

  • Case_Number

先决条件

对于此解决方案,您应该具备以下先决条件:

  • 一个 Amazon 账户。如果您还没有账户,请参阅注册 Amazon 中的说明。

  • 对此解决方案中使用的 Amazon 资源具有权限的 IAM 用户或角色。

  • Toucan 免费试用版,用于构建数据讲故事应用程序。

设置 Amazon 资源

您可以在已提供 Redshift Serverless 的任何区域启动 CloudFormation 堆栈。

1. 选择 Launch Stack(启动堆栈)以开始为这篇文章创建所需的 Amazon Website Service 资源:(https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=aws-toucan&templateURL=https://aws-blogs-artifacts-public.s3.amazonaws.com/artifacts/BDB-2389/template.json)

272bbbb71934ec5fbe650d52f7ff789d.png

2. 在 Redshift Serverless 中指定数据库名称(默认为 dev)。

3. 指定管理员用户名(默认为 admin)。

您无需指定数据库管理员密码,因为它是由 CloudFormation 堆栈在 Secrets Manager 中创建的。此密钥的名称是 AWS-Toucan-Redshift-Password 。我们在后续步骤中将使用密钥值。

测试部署

部署 CloudFormation 堆栈需要花费几分钟的时间。完成部署后,您可以确认已创建资源。要访问您的数据,您需要获取 Redshift Serverless 数据库凭证。

1. 在 CloudFormation 堆栈的 Outputs(输出)选项卡上,记下 Secrets Manager 密钥的名称。

32d8f5b0dfd196ae37ce2421a757b625.png

2. 在 Secrets Manager 控制台上,导航到 Amazon Redshift 数据库密钥,并选择 Retrieve secret value(检索密钥值)以获取数据库管理员的用户名和密码。

4be59ab68db23fda52f10b1c0c3a9b29.png

3. 要确保您的 Redshift Serverless 数据库可用且包含诈骗者攻击数据集,请在 Amazon Redshift 控制台上打开 Redshift Serverless 工作组,然后选择 Query data(查询数据)来访问查询编辑器。

4. 另请注意 Redshift Serverless 端点,您需要将该端点连接到 Toucan。

5689692b91417f4df6a3e203c79d6eb1.png

5. 在 Amazon Redshift 查询编辑器中,运行以下 SQL 查询来查看诈骗者攻击数据:

SELECT * FROM "dev"."public"."shark_attacks";

左滑查看更多

c7b8515b326da86ad9e2d4380cfebffa.png

请注意,如果您在启动 CloudFormation 堆栈时更改默认值,则需要在 SQL 查询中更改数据库的名称。

您已在自己的 Amazon Website Service 账户中配置 Redshift Serverless,并且已上传诈骗者攻击数据集。现在是时候通过构建讲故事应用程序来使用这些数据了。

启动 Toucan 免费试用版

第一步是通过 Toucan 免费试用版访问 Toucan 平台。

填写表单并完成注册步骤。之后,您将在暂存模式下进入 Storytelling Studio。随意浏览已创建的内容。

04421a7cdfbd27fad557131218ea7dcd.png

将 Redshift Serverless 连接到 Toucan

要连接 Redshift Serverless 与 Toucan,请完成以下步骤:

1. 在 Toucan Storytelling Studio 的底部选择 Datastore(数据存储)。

2. 选择 Connectors(连接器)。

Toucan 通过 AnyConnect 与 Redshift Serverless 原生集成。

3. 搜索 Amazon Redshift 连接器,并用以下信息填写表单:

  • 名称 – Toucan 中的连接器的名称。

  • 主机 – 您的 Redshift Serverless 端点。

  • 端口 – 您的 Amazon Redshift 数据库的侦听端口(5439)。

  • 默认数据库 – 要连接到的数据库的名称(默认为 dev,除非在 CloudFormation 堆栈参数中进行了编辑)。

  • 身份验证方法 – 用于连接到 Redshift Serverless 的身份验证机制。在这种情况下,我们使用数据库凭证。

  • 用户 – 用于对 Redshift Serverless 进行身份验证的用户名(默认为 admin,除非在 CloudFormation 堆栈参数中进行了编辑)。

  • 密码 – 用于对 Redshift Serverless 进行身份验证的密码(您应从 Secrets Manager 中检索它;密钥的名称是 AWS-Toucan-Redshift-Password )。

da6448f315414a873ac7696ccc18dffe.png

创建实时查询

您现已连接到 Redshift Serverless。完成以下步骤以创建查询:

1. 在主页上,选择 Add tile(添加磁贴)以创建新的可视化。

bd6ccee564d704eac6334899dc5317e3.png

2. 选择 Live Connections(实时连接)选项卡,然后选择您在上一步中创建的 Amazon Redshift 连接器。

a189d334851ae38a64b8817bed16e98a.png

Toucan 试用版将指导您构建第一个实时查询,在该查询中,您可以使用 Toucan YouPrep 模块转换数据,而无需编写代码。

例如,如以下屏幕截图所示,您可以使用此无代码接口按活动计算重大诈骗者攻击次数的和,获取前五名,然后计算总计的百分比。

515a1af924b2d7ca2d2340122babf5e0.png

构建您的第一个图表

在数据准备就绪后,选择 Tile(磁贴)选项卡,并填写可帮助您构建图表的表单。

例如,您可以配置五项最危险活动的排行榜,并为超过 100 次攻击的活动添加突出显示效果。

选择 Save Changes(保存更改)以保存您的作品并返回主页。

7a94027d6fd92661c3c32acc52827066.png

发布和分享您的作品

在此阶段之前,您一直在 Staging 模式下工作。要让所有人都能看到您的作品,您需要将它发布到 Production 。

在主页的右下角,选择眼睛图标,从未来最终用户的角度预览您的作品。然后,您可以选择 Publish(发布)以使您的作品可供所有人查看。

e48e242f90f7fa46bc099e57d707d466.png

Toucan 还提供多个嵌入选项,使最终用户能够更轻松地访问您的图表(例如,使用手机和平板电脑)。

5d60b4bbce333ab1b98ba303ed9375a2.png

通过执行这些步骤,您已连接到 Redshift Serverless,使用 Toucan 无代码接口转换数据,并为业务最终用户构建了数据可视化。Toucan 试用版将在此过程的每个阶段为您提供指导,以帮助您入门。

Redshift Serverless 和 Toucan 引导式分析通过减少数据工程师的基础设施工作以及让业务最终用户更易于理解控制面板,为提高 BI 工具的采用率提供了一种有效的方法。这篇文章仅涵盖了 Redshift Serverless 和 Toucan 提供的功能的一小部分,因此,请随时探究 Amazon Redshift Serverless 文档和 Toucan 文档中的其他功能。

清理

这篇文章中通过 CloudFormation 模板部署的某些资源在使用时会产生费用。请务必在完成后移除这些资源并清理作品,以避免产生不必要的费用。

在 CloudFormation 控制台上,选择 Delete stack(删除堆栈)以删除所有资源。

总结

这篇文章向您说明了如何使用 Redshift Serverless 和 Toucan 设置端到端架构以实施引导式分析。

该解决方案受益于 Redshift Serverless 的可扩展性,使您能够以经济高效的方式存储、转换和公开数据,而无需管理任何基础设施。Redshift Serverless 与 Toucan 原生集成,后者是一款引导式分析工具,可供所有人在任意设备上使用。

引导式分析侧重于通过数据报告传达故事。通过对自定义选项设置有意图的约束,Toucan 使数据拥有者能够轻松构建有意义的控制面板,向最终用户传达清晰简洁的信息。它适用于您的内部和外部客户,以及无限数量的使用场景。

立即使用我们的 CloudFormation 模板和免费的 Toucan 试用版开始试用!

Original URL: 

https://aws.amazon.com/blogs/big-data/build-a-data-storytelling-application-with-amazon-redshift-serverless-and-toucan/

本篇作者

aa5b5f47171f0565b305df8d02e0332f.png

Louis Hourcade

亚马逊 Professional Services 团队数据科学家。他与各个行业的亚马逊客户合作,通过创新性技术帮助他们加快获得业务成果。业余时间,他喜欢跑步、攀爬巨石和冲浪(不太大的浪)。

f73320a017b264a9aacc9374af5771ec.png

Benjamin Menuet

亚马逊 Professional Services 数据架构师。他帮助客户开发大数据和分析解决方案,以加快实现业务成果。工作之余,Benjamin 是一名越野跑运动员,并且完成了一些很著名的比赛,例如 UTMB。

0f84167e09048b2c08510e7f048e8c7a.png

Xavier Naunay

亚马逊 Professional Services 数据架构师。他是亚马逊 ProServe 团队的成员,帮助企业客户使用亚马逊服务解决复杂的问题。闲暇时,他不是在旅行,就是在了解技术和其他文化。

d3630231abd6877d9bc7177fa7d3b4a8.png

Django Bouchez

Toucan 解决方案工程师。他与销售团队合作,提供有关技术和功能验证和证明方面的支持,还帮助研发部与亚马逊等云合作伙伴一起演示新功能。工作之余,Django 是一名家庭酿酒师,还练习水肺潜水和运动攀岩。

a63910f8c967ab341e23e3fe5e38fa86.gif

e046341fb4f3ba8442f61121616ecb77.gif

听说,点完下面4个按钮

就不会碰到bug了!

bbb3432a86c802eeb8ce650294253d4f.gif

相关文章:

使用 Amazon Redshift Serverless 和 Toucan 构建数据故事应用程序

这是由 Toucan 的解决方案工程师 Django Bouchez与亚马逊云科技共同撰写的特约文章。 带有控制面板、报告和分析的商业智能(BI,Business Intelligence)仍是最受欢迎的数据和分析使用场景之一。它为业务分析师和经理提供企业的过去状态和当前状…...

CentOS 上快速安装包管理工具Conda

要在 CentOS 上安装 Conda,您可以按照以下步骤进行操作: 1. 下载 Miniconda 或 Anaconda 安装脚本: Miniconda:适用于轻量级安装的 Miniconda 版本。 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.…...

opencv-手势识别

# HandTrackingModule.py import cv2 import mediapipe as mpclass HandDetector:"""使用mediapipe库查找手。导出地标像素格式。添加了额外的功能。如查找方式,许多手指向上或两个手指之间的距离。而且提供找到的手的边界框信息。"""…...

【SA8295P 源码分析】10 - HQX Display(OpenWFD)qcdisplaycfg_ADP_STAR_LA.xml 配置文件解析

【SA8295P 源码分析】10 - HQX Display(OpenWFD)qcdisplaycfg_ADP_STAR_LA.xml 配置文件解析 一、HQX Display 介绍1.1 OpenWF Display Driver二、HQX Display 配置文件参数解析2.1 qcdisplaycfg.xml 配置文件2.1 配置两个 DPUs in QNX2.1.1 配置 graphics_ADP_STAR.conf : …...

达梦数据库权限和预定角色介绍

概述 本文对达梦数据库数据库和对象权限及DM预定义角色及角色创建进行介绍。 1.权限管理 用户权限有两类:数据库权限和对象权限。 数据库权限主要是指针对数据库对象的创建、删除、修改的权限,对数据库备份等权限。 数据库权限一般由 SYSDBA、SYSAU…...

Python编程从入门到实践_8-8 用户的专辑_答案

Python编程从入门到实践_8-8 用户的专辑_答案 我也看了一些其他人的答案,很多的答案存在问题,每次调用函数 make_album() 后生成一个专辑字典会覆盖上次调用函数 make_album() 生成的字典,不符合题意。 我采取的解决方案是添加一个空列表 …...

HummingBird 基于 Go 开源超轻量级 IoT 物联网平台

蜂鸟(HummingBird) 是 Go 语言实现的超轻量级物联网开发平台,包含设备接入、产品管理、物模型、告警中心、规则引擎等丰富功能模块。系统采用GoLang编写,占用内存极低, 单物理机可实现百设备的连接。 在数据存储上&…...

10.小程序样式

样式 css部分样式不支持,并且添加了rpx属性,小程序开发的时候应该使用rpx,而不是px,因为rpx是将移动端的屏幕大小分为750份,会自动按设备的大小去适配;我们在开发时应该以iphone6为基准的设备进行开发&…...

Flink 流式读写文件、文件夹

文章目录 一、flink 流式读取文件夹、文件二、flink 写入文件系统——StreamFileSink三、查看完整代码 一、flink 流式读取文件夹、文件 Apache Flink针对文件系统实现了一个可重置的source连接器,将文件看作流来读取数据。如下面的例子所示: StreamExe…...

【SA8295P 源码分析】64 - QNX 与 Android GVM 显示 Dump 图片方法汇总

【SA8295P 源码分析】64 - QNX 与 Android GVM 显示 Dump 图片方法汇总 一、QNX侧1.1 surfacedump 功能1.2 screenshot 功能二、Android GVM 侧2.1 screencap -p 导出 PNG 图片2.2 screencap 不加 -p 参数,导出 RGB32 图片2.3 dumpsys SurfaceFlinger --display-id 方法系列文…...

字符串旋转(1)

目录 ​编辑 题目要求😍: 题目内容❤: 题目分析📚: 主函数部分📕:​编辑 方法一🐒: 方法二🐒🐒: 方法三🐒&#x1f…...

【SA8295P 源码分析】13 - Android GVM 虚拟机 QUPv3 UART / SPI / I2C功能配置及透传配置

【SA8295P 源码分析】13 - Android GVM 虚拟机 QUPv3 UART / SPI / I2C功能配置及透传配置 一、QUP v3 介绍二、QUP v3 UART 功能配置2.1 TrustZone 域 Uart 资源权限配置:以 QUPV3_0_SE2 为例2.2 QNX Host 域关闭 Uart 资源:以 QUPV3_0_SE2 为例2.3 Android Kernel 域使能 U…...

STM32 F103C8T6学习笔记10:OLED显示屏GIF动图取模—简易时钟—动图手表的制作~

今日尝试做一款有动图的OLED实时时钟,本文需要现学一个OLED的GIF动图取模 其余需要的知识点有不会的可以去我 STM32 F103C8T6学习笔记 系列专栏自己查阅把,闲话不多,直接开肝~~~ 文章提供源码,测试工程下载,测试效…...

大数据课程K3——Spark的常用案例

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Spark的常用案例——WordCount; ⚪ 掌握Spark的常用案例——求平均值; ⚪ 掌握Spark的常用案例——求最大值和最小值; ⚪ 掌握Spark的常用案例——TopK; ⚪ 掌握Spark的常用案例…...

85-最大矩阵

题目 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,…...

8.3 【C语言】通过指针引用数组

8.3.1 数组元素的指针 所谓数组元素的指针就是数组元素的地址。 可以用一个指针变量指向一个数组元素。例如: int a[10]{1,3,5,7,9,11,13,15,17,19}; int *p; p&a[0]; 引用数组元素可以用下标法,也可以用指针法&#xf…...

基于Flink CDC实时同步PostgreSQL与Tidb【Flink SQL Client模式下亲测可行,详细教程】

文章目录 一、PostgreSQL作为数据来源(source),由flink读取1.postgre安装与配置2.flink安装与配置3.flink cdc postgre配置3.1 postgre配置(for flink cdc)3.2 flink cdc postgres的jar包下载 4.flink cdc postgre测试…...

Vue-5.编译器Idea

Vue专栏(帮助你搭建一个优秀的Vue架子) Vue-1.零基础学习Vue Vue-2.Nodejs的介绍和安装 Vue-3.Vue简介 Vue-4.编译器VsCode Vue-5.编译器Idea Vue-6.编译器webstorm Vue-7.命令创建Vue项目 Vue-8.Vue项目配置详解 Vue-9.集成(.editorconfig、…...

qiuzhiji3

本篇想介绍一下慧与,这里的工作氛围和企业文化令人难忘,希望更多人了解它 也想探讨一下不同的文化铸就的不同企业,究竟有哪些差别。 本篇将从我个人角度出发描述慧与。 2022/3/16至2023/7/31 本篇初次写于2023年8月20日 说起来在毕业之前那段…...

JVM——垃圾回收(垃圾回收算法+分代垃圾回收+垃圾回收器)

1.如何判断对象可以回收 1.1引用计数法 只要一个对象被其他对象所引用,就要让该对象的技术加1,某个对象不再引用其,则让它计数减1。当计数变为0时就可以作为垃圾被回收。 有一个弊端叫做循环引用,两个的引用计数都是1&#xff…...

QT TLS initialization failed问题(已解决) QT基础入门【网络编程】openssl

问题: qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed 这个问题的出现主要是使用了https请求:HTTPS ≈ HTTP + SSL,即有了加密层的HTTP 所以Qt 组件库需要OpenSSL dll 文件支持HTTPS 解决: 1.加入以下两行代码获取QT是否支持opensll以…...

SpringMVC之获取请求参数

文章目录 前言一、通过ServletAPI获取二、通过控制器方法的形参获取请求参数三、注解1.RequestParam2.RequestHeader3.CookieValue前面的代码总和:4.通过POJO获取请求参数 三、解决获取请求参数的乱码问题总结 前言 下面用到了thymeleaf,不知道的可以看…...

【无标题】QT应用编程: QtCreator配置Git版本控制(码云)

QT应用编程: QtCreator配置Git版本控制(码云) 感谢:DS小龙哥的文章,这篇主要参考小龙哥的内容。 https://cloud.tencent.com/developer/article/1930531?areaSource102001.15&traceIdW2mKALltGu5f8-HOI8fsN Qt Creater 自带了git支持。但是一直没…...

JVM面试题-2

1、有哪几种垃圾回收器,各自的优缺点是什么? 垃圾回收器主要分为以下几种:Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS、G1; Serial:单线程的收集器,收集垃圾时,必须stop the worl…...

kafka安装说明以及在项目中使用

一、window 安装 1.1、下载安装包 下载kafka 地址,其中官方版内置zk, kafka_2.12-3.4.0.tgz其中这个名称的意思是 kafka3.4.0 版本 ,所用语言 scala 版本为 2.12 1.2、安装配置 1、解压刚刚下载的配置文件,解压后如下&#x…...

二叉树搜索

✅<1>主页&#xff1a;我的代码爱吃辣&#x1f4c3;<2>知识讲解&#xff1a;数据结构——二叉搜索树☂️<3>开发环境 &#xff1a;Visual Studio 2022&#x1f4ac;<4>前言&#xff1a;在之前的我们已经学过了普通二叉树&#xff0c;了解了基本的二叉树…...

【先进PID控制算法(ADRC,TD,ESO)加入永磁同步电机发电控制仿真模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

k8s集群生产环境的问题处理

2 k8s上的服务均无法访问 执行命令kubectl get pods -ALL,k8s集群中的服务均是running状态 1 kuboard 网页无法访问 kuboard无法通过浏览器访问&#xff0c;但是查看端口是被占用的...

serve : 无法将“serve”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

1、在学习webpack打包的时候&#xff0c;需要 serve用来启动开发服务器来部署代码查看效果的。安装完之后运行出现以下错误&#xff1a; 2、使用命令查看安装目录&#xff1a; npm list -g我们已经安装过了 3、解决&#xff1a; 我们看到上图路径在&#xff1a;C:\Users\qiy…...

【LVS】2、部署LVS-DR群集

LVS-DR数据包的流向分析 1.客户端发送请求到负载均衡器&#xff0c;请求的数据报文到达内核空间&#xff1b; 2.负载均衡服务器和正式服务器在同一个网络中&#xff0c;数据通过二层数据链路层来传输&#xff1b; 3.内核空间判断数据包的目标IP是本机VIP&#xff0c;此时IP虚…...

ps做网站导航/投诉百度最有效的电话

http://blog.tangcs.com/2009/07/24/basketball-shooting/转载于:https://www.cnblogs.com/WarrenTang/articles/1530149.html...

鄱阳做网站/线上电商怎么做

计算机硬件一、硬件组成主板 CPU 硬盘 内存 显卡 声卡 网卡 光驱 机箱 显示器 键盘 鼠标 二、主机内部剖析1、CPU 中央处理器&#xff08;针式和触点式&#xff09;性能指标&#xff1a;主频、核心数、线程数、缓存主频&#xff1a;CPU内核工作的时钟频率缓存&#xff1a;缓解C…...

珠海政府网站大湾区建设/济南网站seo哪家公司好

import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock;public class ConditionCommunication {/*** 这一个示例的学习应该和传统的线程通信相互对比&#xff0c;Condition的通信优点查看文…...

虚拟服务器建网站/网络推广平台哪家公司最好

MySQL WHILE和LOOP和REPEAT循环的用法区别 MySQL三种循环的区别 MySQL循环使用方法一、MySQL循环概述MySQL中有三种循环&#xff0c;分别是 WHILE , REPEAT , LOOP (据说还有 goto)&#xff0c;不可单独使用&#xff0c;主要用于 存储过程 PROCEDURE 和 函数 FUNCTION 中。二、…...

烘焙食品网站建设需求分析/百度推广优化技巧

5.11.1找出3~100以内所有的素数 ##找出3~100以内所有素数 #&#xff08;1&#xff09;考虑初始条件 ##n 3 #(2)循环的结束条件 ##n<100 #(3)重复需要干什么 ##判断n是否为素数 #&#xff08;4&#xff09;如何度过下一次循环 ##nn1 n 3 while n<100:i 2flag True # …...

什么网站可以免费做试卷/域名解析ip地址

1、函数shell中&#xff0c;函数也分为系统函数和用户自定义函数。而系统函数说白了&#xff0c;就是linux命令2、系统函数常见的系统函数有很多&#xff0c;比如文件类的、目录类等等。这里以几个命令做个案例2.1、案例在当前目录创建test目录&#xff0c;创建成功则打印成功&…...