广告网站留电话网站开发大概价格

news/2025/9/27 9:32:54/文章来源:
广告网站留电话,网站开发大概价格,论坛空间申请,南京网站建站公司HBase概述 1. Why we need HBase #xff1f; 在大数据时代来临之前#xff0c;我们通常依赖传统的关系型数据库#xff08;如RDBMS#xff09;来处理数据存储和管理。然而#xff0c;随着数据量的急剧增长和数据结构的多样化#xff0c;传统数据库系统开始显露出其局限性…HBase概述 1. Why we need HBase 在大数据时代来临之前我们通常依赖传统的关系型数据库如RDBMS来处理数据存储和管理。然而随着数据量的急剧增长和数据结构的多样化传统数据库系统开始显露出其局限性。 针对这一挑战我们引入了新的解决方案其中包括熟悉的“大象”——Hadoop。 然而使用Hadoop存储大量数据并且试图从中检索少量记录存在一个显著问题必须扫描整个Hadoop分布式文件系统HDFS才能获取这些记录。 HDFS能够高效地存储、处理和管理大量数据。但是它只执行批处理并且以顺序方式访问数据。 因此需要一种解决方案无论数据在集群中的顺序如何都可以随时访问、读写数据。 Hadoop的这种限制导致了对数据库随机访问的不足这也正是引入HBase的原因。 HBase类似于传统的数据库管理系统DBMS但它提供了能够以随机方式访问数据的能力弥补了Hadoop的这一局限性。 2.What is Apache HBase HBaseHadoop Database是一个开源的分布式、面向列存储的非关系型数据库系统。 HBase建立在 Apache Hadoop 上利用 Hadoop 的分布式文件系统 HDFS 存储数据。 HBase可以以表格格式存储大量数据主要用于需要定期且一致地插入和覆盖数据以及需要极快读写场景。 HHBase采用了类似于Google的Bigtable的数据模型这意味着它是基于列族column family的分布式存储系统。 bigtable是一个结构化数据的分布式存储系统。bigtable利用了谷歌文件系统提供的分布式数据存储。 Apache hbase在hadoop和HDFS之上提供了类似bigtable的功能。 3.Characteristics of HBase HBase is a type of NoSQL database and is classified as a key-value store. HBase是一种被归类为键值存储的NoSQL数据库。 Value is identified with a key Every piece of data stored in HBase is associated with a unique key. This key serves as the identifier for the data and is used to store and retrieve values efficiently. HBase 中的每条数据都与一个唯一的键相关联。这个键用于高效地存储和检索数据值。 Key and values are byte array of type. 在HBase中键key和值value都是以字节数组byte array的形式存储的。可以轻松的存储二进制数据 Values are stored inkey orders and can be quickly accessed by their keys. HBase 值以键顺序存储可以通过键快速访问。 HBase is a database in which tables have no schema. At the time of table creation, column families are defined, not columns. HBase 其表在创建时没有严格的模式schema。在创建表时定义的是列族column families而不是列。 列族是逻辑上的概念它们可以包含多个列。在实际存储数据时列族的定义决定了数据在物理上的存储方式。每个列族可以包含多个动态列这些列不需要在创建表时预先定义可以根据需要动态添加。 因此HBase 的表在创建时可以定义一个或多个列族而具体的列是在数据写入时动态创建和管理的。这种设计使得HBase非常适合存储半结构化和非结构化数据同时保持了高度的灵活性和扩展性。 线性可扩展性Linearly ScalableHBase 能够在大规模数据集上实现线性扩展通过水平分割数据并在多台服务器上分布存储以处理增加的负载而无需单点增强硬件性能。 与 Hadoop 集成Hadoop IntegrationHBase紧密集成于Hadoop生态系统特别是与HDFSHadoop分布式文件系统和MapReduce配合使用支持在大数据处理流程中无缝存储和分析数据。 自动容错支持Auto-Failure SupportHBase具备自动容错和恢复机制能够在节点故障时自动将数据恢复到可用状态保证系统的高可用性和持久性。 Java API 支持Java API SupportHBase 提供了丰富的 Java API使得开发人员可以轻松地通过 Java 编程语言进行数据的读取、写入和管理。 一致性读写Consistent Read/WriteHBase 提供了一致性的读取和写入操作确保数据的读取和更新操作在分布式环境下保持一致性同时支持多版本数据访问。 数据复制Data ReplicationHBase 支持数据的复制可以在不同的数据中心或节点之间复制数据提高数据的可用性和容灾能力同时支持异步复制和自定义复制策略。 4.Why NoSQL NoSQL是一种非结构化存储形式这意味着NoSQL数据库没有固定的表结构。 左侧展示的结构化数据库严重依赖行、列和表。非结构化数据库则包含多种不同类型的数据。 With the explosion of social media sites, such as Facebook and Twitter ,the demand to manage large data has grown tremendously. NoSQL数据库解决了存储、管理、分析和归档大数据时面临的挑战。由于其高性能、高可扩展性和易于访问这些数据库也因此获得了广泛的流行。 NoSQL数据库主要有四种类型 键值存储Key-Value数据以键值对形式存储每个键唯一对应一个值适合快速存取和简单查询的场景。 文档型存储Document-based数据以文档形式存储文档可以是JSON、XML等格式每个文档可以包含不同结构的数据适合应用程序需要灵活数据模型的情况。 列族存储Column-based数据以列族column family存储适合需要大量数据写入和复杂查询的场景具有高效的读写性能。 图形数据库Graph-based数据以图的形式存储包括节点node和边edge用于存储具有复杂关系和连接的数据适合分析和处理复杂的关系网络。 RDBMS 与 NoSQL数据库对比。 特征RDBMSNoSQL数据库数据存储表格化Tabular可变存储模型Variable storage model数据模式固定Fixed动态Dynamic性能低LOW高High可扩展性纵向扩展Vertical横向扩展Horizontal可靠性良好Good较差Poor 数据存储模型 RDBMS采用表格化Tabular的数据存储模型数据以行和列的形式组织每个表具有预定义的结构。NoSQL数据库采用多样化的存储模型可以是键值对、文档、列族或图形等形式允许更灵活和动态的数据结构。 数据模式 RDBMS具有固定的数据模式需要预先定义表的结构和关系且数据必须符合这些结构。NoSQL数据库通常具有动态的数据模式可以根据需要动态调整数据结构适应不同的数据格式和需求变化。 性能 RDBMS在复杂的查询和事务处理方面通常表现较好但在大规模数据处理和读取时性能相对较低。NoSQL数据库在处理大量数据和简单查询时性能往往非常高可以通过横向扩展来提升性能。 可扩展性 RDBMS主要通过纵向扩展增加硬件资源如CPU、内存来提升性能扩展性有限。NoSQL数据库通过横向扩展增加节点数目来提升性能和容量具有更好的可扩展性和弹性。 可靠性 RDBMS因为事务处理和数据完整性的强调通常具有较高的可靠性和数据一致性。NoSQL数据库由于强调分布式架构和大规模数据处理可能在数据一致性和可靠性方面相对较弱取决于具体实现和配置。 5.Real-Life Connect Facebook的Messenger平台需要每月存储超过135万亿条消息。 它们选择了HBase作为存储这些数据的解决方案原因在于需要处理两种类型的数据模式 稀少访问的持续增长数据集这些数据集包含了大量的消息数据但通常很少被访问或者只在特定的情况下才会被查询和检索。例如收件箱的信息看一次就很少再去查看了。 高度易变的持续增长数据集这些数据集则包含了频繁变化的消息数据这些数据需要能够快速地更新和访问。 HBase特别适合处理大数据量和动态数据模式的场景。 对于像Facebook Messenger这样的大型即时通讯平台来说选择HBase能够有效地应对其庞大的数据存储和处理挑战。 6.HBase Architecture HBase拥有两种类型的节点Master节点和RegionServer节点。 在HBase中Master节点和RegionServer节点协同工作共同构成一个高效的分布式存储和处理系统。 Master节点负责整个集群的管理和协调而RegionServer节点则负责实际的数据存储和读写操作通过分布式的方式处理大规模数据。 Master节点 每次只有一个Master节点在运行。负责管理整个HBase集群的操作包括RegionServer的协调和管理。不参与读取或写入数据的路径主要负责集群的元数据管理和协调。负责监测和管理RegionServer的状态以及为RegionServer分配和重新分配数据区域Regions。 RegionServer节点 可以同时运行一个或多个RegionServer节点。主要负责托管HBase表中的数据区域Regions并执行数据的读取和缓冲写入操作。在读取和写入数据时起到关键作用处理客户端的数据请求。Region是HBase中表的行的子集每个RegionServer可以托管多个Region。 7.HBase Components HBase的组件包括HBase Master和多个RegionServer。它的集群架构如下 HBase Master HBase的主节点负责整个集群的管理和协调。通过与ZooKeeper的通信来监控和管理RegionServer。负责分配数据区域Region给不同的RegionServer并进行负载均衡的操作。 RegionServer 包含多个实例每个实例称为一个RegionServer节点。负责存储和处理实际的数据。每个RegionServer可以托管多个数据区域Region。数据区域Region进一步包含数据存储单元Store每个Store包含存储文件StoreFile、内存存储Memstore和日志HLog等组件。 ZooKeeper 用于协调和监控HBase集群的组件。维护HBase集群中的元数据信息如RegionServer的状态和分布情况。 HDFS Hadoop分布式文件系统作为HBase的底层存储层。存储HBase表中的数据文件HFile和日志文件HLog。 在HBase的架构中Master节点和RegionServer节点通过ZooKeeper进行协调和通信实现数据的高可用性和一致性。 Master节点负责管理集群的整体运行包括Region的分配和负载均衡而RegionServer节点则实际存储和处理数据通过横向扩展来处理大规模数据和高并发访问的需求。 8.Storage Model of HBase HBase的存储模型包括两个主要组成部分分区和持久化及数据可用性。 分区 分区是存储模型的一部分用于水平划分表格成为多个区域regions。 每个区域由一段连续的键范围组成并由一个区域服务器region server管理。区域服务器可以托管多个区域。 持久化及数据可用性 数据存储在HDFS中 HBase 将其数据存储在 Hadoop 分布式文件系统HDFS中。HDFS 提供了高可靠性、高扩展性和容错能力非常适合存储大规模的数据。 依赖HDFS复制确保数据可用性 HBase 依赖于 HDFS 的复制机制来确保数据的可用性和冗余。当数据写入 HBase 时HDFS 负责将数据多次复制到不同的数据节点以应对节点故障或数据损坏的情况从而保证数据的可靠性和持久性。 区域服务器不进行复制 HBase 中的区域服务器region server不进行复制。这意味着每个区域服务器负责管理一些区域regions这些区域是数据表水平分割后的部分。区域服务器负责处理对这些区域的读写请求。 Tips 内存缓存Memstore 在 HBase 中每个区域服务器Region Server维护内存中的一个 mem store用于临时存储数据更新操作的结果。 当客户端发送写请求时数据首先被写入到这个内存缓存中。这样做的主要目的是提高写入性能和响应速度因为内存访问比磁盘访问要快得多。 流程 写入操作 当客户端发送写请求时区域服务器将数据更新操作追加到内存中的 mem store 中。 读取操作 读取请求首先检查 mem store 是否包含所需数据如果有则直接返回否则继续查找数据文件如 HFiles。 内存使用和管理 内存中的 mem store 不是无限的当达到预设阈值时HBase 将会触发内存刷新操作flush将 mem store 中的数据持久化到磁盘上的 HFiles 中以释放内存空间。 虽然 mem store 提供了高性能的写入和读取速度但内存中的数据不是持久化的如果区域服务器发生故障或重启内存中的数据将会丢失。 为了解决这个问题HBase 定期将 mem store 中的数据刷新到 HDFS 上的 HFiles 中从而保证数据的持久性和可恢复性。 流程 Flush 操作触发 当 mem store 中的数据达到预定的阈值或者定期时间到达时HBase 触发一个 flush 操作。 数据写入 HFiles 在 flush 过程中mem store 中的数据被写入到 HFiles 中这些 HFiles 是持久化存储在 HDFS 上的文件它们包含了最新的数据更新操作。 写入确认 在将数据写入 HFiles 后HBase 确认操作成功完成并更新相应的元数据以反映最新的数据状态。 WALWrite-Ahead Log预写式日志的使用 WAL 是 HBase 用来确保数据更新操作持久性的关键机制。 所有的数据更新操作如写入、更新、删除首先被记录到 WAL 中然后再写入 mem store。 这样做的目的是在发生系统崩溃或故障时通过重新应用 WAL 中的记录来恢复数据确保不会丢失已提交的更新操作。 流程 数据更新操作 当客户端发送写请求时区域服务器首先将数据更新操作追加到 WAL 中。WAL 文件通常存储在 HDFS 上这样可以保证数据在写入 mem store 之前已经持久化。 数据写入 mem store 数据在写入 WAL 后再被写入内存中的 mem store。这个过程中如果区域服务器发生故障数据可以通过重新应用 WAL 来恢复确保数据的一致性和持久性。 WAL 的定期刷写 WAL 文件不会无限增长HBase 定期将 WAL 文件刷写flush到磁盘上的永久存储中以确保即使在系统崩溃时也能最大程度地恢复数据。 HBase 通过内存缓存mem store、定期刷新到 HDFS 和 WAL 的结合使用确保了高性能的数据写入和持久化存储同时在系统故障或崩溃时能够快速恢复数据保证了数据的一致性和可靠性。 9.Row Distribution of Data between Region Servers 数据分区和Region 当你创建一个表table时HBase会将其分成多个区域regions每个区域负责存储表中特定范围的行rows数据。这些区域是按照表的行键row key的范围来划分的通常是一段连续的行键范围分配给一个区域。 Region Server 每个Region都会被分配到不同的Region Server上进行管理和存储。Region Server是HBase集群中的工作节点负责处理和响应来自客户端的数据读写请求。 数据行的分布 数据行rows在HBase中根据其行键row key进行分布和存储。行键经过哈希处理后决定了数据存储在哪个具体的Region中。这确保了相似行键的数据分布均匀避免了热点hotspotting现象即数据请求集中在少数几个Region上的情况。 10.Data Model HBase的数据模型特点 多版本支持 每个行键rowkey可以存储多个版本的数据。这意味着同一个行键下的不同版本数据可以被保留和访问每个版本可以带有时间戳来表示其存储时点。 行键rowkey的作用 行键是HBase中数据的唯一标识符用于唯一标识每一行数据条目。它们通常设计为能够有效支持快速查询和分布式存储的方式。 列族和列 数据存储在列族Column Family中每个列族可以包含多个列。例如列族 CF1 可以包含列 C1、C2 和 C3。列族内的所有单元格cells都按照列名排序并物理存储在一起这种存储方式有助于快速检索和访问相关数据。 列族间的数据存储 不同列族的数据是分开存储的这种设计允许在不同的列族中存储不同类型或结构的数据从而支持灵活的数据模型和查询需求。 稀疏数据特性 HBase中的数据通常非常稀疏大部分单元格包含空值NULL。这是因为HBase设计用于大规模数据集其中大多数情况下每行数据只包含少量列的值而其他列保持为空。 数据存储格式 HBase存储的所有数据除了表名之外都以字节数组ByteArrays的形式存储。这种存储格式的选择使得HBase能够支持多种数据类型和结构从简单的文本到复杂的二进制数据。 列的重复性 在不同的行中同一个列可以重复出现例如列族 CF2 中的列 C1。这种重复性允许存储和检索具有相似结构的数据同时保持高效的存储和查询性能。 行键Row Key是唯一标识每行数据的键值。它用于在HBase表中快速定位和访问特定行的数据。 列族Column Family是逻辑上的分组单元它可以包含多个列限定符。在这个示例中数据被组织成两个列族Column Family 1 和 Column Family 2。 列限定符Qualifier是列族中的具体列用于存储数据的名称或标签。 版本Version是指数据在某个时间点上的不同值。HBase允许存储同一行键下同一列限定符的多个版本每个版本都有一个关联的时间戳Timestamp表示数据的写入时间。 11.When to use HBase 当数据模式灵活演变而无需严格约束时适合使用HBase。 Invariable schema: When the data schema can evolve flexibly over time without strict constraints, HBase is suitable. 适合处理数百万甚至数十亿行数据的场景传统数据库可能无法处理。 Enough data in millions or billions of rows: Suitable for scenarios that involve handling millions or even billions of rows of data, where traditional databases may struggle. HBase在需要快速随机访问和按键范围扫描数据时表现出色。 For random selects and range scans by key: HBase excels in scenarios where fast random access and range scans by key are required. HBase设计用于在廉价硬件上运行通常至少需要五个节点来形成集群。 Sufficient commodity hardware with at least five nodes: HBase is designed to operate on commodity hardware, typically requiring at least five nodes to form a cluster. 12.HBase vs RDBMS 特点HBaseRDBMS自动分区Automatic partitioning通常需要手动分区线性扩展和自动扩展新节点Scales linearly and automatically with new nodes通常通过添加更多硬件资源来垂直扩展使用廉价硬件Uses commodity hardware依赖昂贵的服务器具有容错性Has fault tolerance容错性可能存在也可能不存在利用MapReduce分布式处理Leverages batch processing with MapReduce distributed processing利用多线程或进程而非MapReduce分布式处理 13.Connecting to HBase 连接到HBase并进行通常操作如get、scan、put和delete的一些方式 Java应用程序编程接口API用于通过Java应用程序执行操作如get、scan、put和delete等。 Thrift和REST服务非Java客户端可以使用这些服务来进行操作。 Hive、Pig、HCatalog或Hue这些工具也可以用来执行操作特别是通过命令行界面进行管理功能。 14.HBase Shell Commands Create Table: 创建表 create tablename, columnfamily1, columnfamily2创建一个名为 tablename 的表并定义列族 columnfamily1 和 columnfamily2。 List Tables: 列出所有表 list列出所有已经存在的表。 Describe Table: 描述表结构 describe tablename显示表 tablename 的结构信息包括列族和版本信息。 Put Data: 插入数据 put tablename, rowkey, columnfamily:column, value在 tablename 表中的 rowkey 行中插入指定列族和列的值。 Get Data: 获取数据 get tablename, rowkey获取指定 tablename 表中 rowkey 行的所有数据。 Scan Table: 扫描表 scan tablename扫描并显示 tablename 表中的所有行和列族。 Delete Data: 删除数据 delete tablename, rowkey, columnfamily:column, ts删除指定 tablename 表中 rowkey 行中指定列族和列的数据可以指定时间戳 (ts)。 Disable Table: 禁用表 disable tablename禁用 tablename 表停止对其的写入和读取操作。 Enable Table: 启用表 enable tablename启用 tablename 表允许对其进行写入和读取操作。 Drop Table: 删除表 drop tablename删除 tablename 表及其所有数据。 整理不易列位一键三连呀~

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

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

相关文章

AI信任心理学:构建可信赖人工智能系统的实用指南

本文深入探讨人工智能系统中的信任心理学,提出基于能力、善意、诚信和可预测性四大支柱的信任框架。文章详细介绍了测量用户对AI信任度的研究方法,包括定性访谈、定量量表和行为指标,并提供了具体的设计策略来构建更…

深入解析:CodeForces479A-Expression(数学+枚举)

深入解析:CodeForces479A-Expression(数学+枚举)2025-09-27 09:20 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displa…

完整教程:编程语言综合教程:Java、Python、C++、Go 全面解析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

英语_阅读_Robot

People often ask smartphones questions and expect quick answers. 人们经常向智能手机提问,并期望迅速得到答案。 So what makes humans trust smart machines? Researchers want to know. 那么,是什么让人类信任…

网站怎么做不违法怎样怎样优化网站建设

1.鞋子到了 2.网络一天没有好 3. 又吸烟了,难受 4. 单双杠:60 5. 洗澡:no 6. 仰卧起坐:100 7. 洗脚/刷牙 8.曾的车 9.老梁关世界 总结:今天还好吧,但我还是很想znn!! 转载于:https://www.cnblo…

做网站后台要学什么自己做视频网站 在优酷推广

前一天晚上,用360清理缓存文件后,早上起来一看快捷方式的箭头图标不见了,左下角变成了一片白色。试了很多方法,比如说删除iconcache.db,然后重启资源管理器等等,发现没有用。然后,装上360桌面助…

模仿Teamcenter(UIHealthDetector) 实现 系统托盘

模仿Teamcenter(UIHealthDetector) 实现包位置: com.teamcenter.rac.common.health.UIHealthDetector (com.teamcenter.rac.common_xxxx.jar) 环境:eclipse4.15 + java 8 + windowbuilder项目结构项目主要代码 pac…

一个纯净的自动微分框架—autograd

本文介绍了一个可以基于CPU和numpy的自动微分计算框架。如果只是需要使用自动微分计算的功能,就可以直接在CPU环境下简便的部署,快捷的完成环境搭建。技术背景 自动微分是一个在深度学习等计算领域非常常用的一个工具…

商城网站建设论文如何用2级域名做网站

简单来说,就是接受前端微信小程序发来的数据保存到数据库,这是我写的第二个接口,相比前一个要稍微简单一些,而且因为前端页面也是我写的,参数类型自然是无缝对接_ 前端页面大概长这个样子 先用apifox模拟发送请求测试…

PHP 8.2 vs PHP 8.3 对比:新功能、性能提升和迁移技巧

PHP 8.2 vs PHP 8.3 对比:新功能、性能提升和迁移技巧 个人目前正在使用 8.2,官方其实在去年也停止维护了。为什么还在使用,就是因为 PHP 社区生态还没完全跟上。但是 PHP 一直在快速演进,PHP 8.3 发布后又带来了不…

安徽网站建设的基本步骤wordpress微信绑定域名

往往,我们一提到指针函数和函数指针的时候,就有很多人弄不懂。下面就由小编详细为大家介绍C语言中函数指针,指针函数和函数指针之间的区别。c语言指针函数定义:函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变…

医院 网站源码腾讯云服务器优惠

mplab ide中使用c语言编程,PIC单片机的C语言使用——在MPLAB-IDE中使用HitechC编译器.doc...-CSDN博客

使用油猴脚本去除浏览器搜索的URL后缀,减少广告

使用油猴脚本去除浏览器搜索的URL后缀,减少广告今天碰到了一件事,我在浏览器里搜索"adobe",它显示的URL是“https://www.bing.com/search?q=adobe&qs=n&form=QBRE&sp=-1&lq=0&pq=ado…

浅谈并分享一种较为高效的学习方法

浅谈并分享一种较为高效的学习方法,适用于一般大学内较为吃力的朋友、阅读书籍、学习专业课程、自学内容等普通群体,可能对于迷茫考入一般大学的朋友有较好帮助,学神不喜请绕道。 若本文对你有所帮助,那我编写发布…

深入解析:PyTorch张量切片的陷阱:视图与副本

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

英语_阅读_Industry 4.0_待读

“Industry 4.0” is a mix of low-cost and high-power computers, high-speed communication and artificial intelligence. “工业4.0”是低成本高性能计算机、高速通信和人工智能的结合。 This will produce smart…

站酷网官网登录营销方案模板范文

在当今高度发达的制造业中,精密机械零件加工企业扮演着至关重要的角色,以其精湛的工艺和严谨的态度,为制造业的各个领域提供着关键的支撑。 一、高精度制造,奠定产品质量基础 精密机械零件加工企业以其精湛的加工技术,…

Python获取CPU和内存使用率

首先,确保已安装psutil库。如果尚未安装,请运行以下命令进行安装: pip install psutil 安装完成后,我们就可以使用psutil库来测量CPU和内存使用率了。以下是一个简单的示例代码: import psutil import timedef ge…

解决Python requests库POST请求参数顺序问题

在Python的世界里,用requests库发个POST请求也一样,有时候你得确保参数的顺序得守规矩,不然服务器可能理你都不理。那怎么保持POST请求参数的顺序呢?咱们得换个法子:用 collections.OrderedDict来拯救世界。 Orde…

使用Tabs选项卡组件快速搭建鸿蒙APP框架

ArkUI提供了很多布局组件,其中Tabs选项卡组件可以用于快速搭建鸿蒙APP框架,本文通过案例研究Tabs构建鸿蒙原生应用框架的方法和步骤。大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目…