




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目标掌握HBase的概念和作用了解HBase使用场景和成功案例了解HBase和传统关系数据库的对比分析掌握HBase数据模型掌握HBase的组成架构掌握HBase的安装运行方法了解HBase的访问接口HBase的概念和作用HBase-HadoopDataBase是一个高性能、高可靠性、面向列、可伸缩的分布式存储系统,使用HBase技术,可以在廉价PC服务器上搭建起大规模结构化存储集群。HBase是GoogleBigTable的开源实现,它模仿并提供了基于Google文件系统的BigTable数据库的所有功能:HBase使用HadoopHDFS作为其文件存储系统;使用HadoopMapReduce来处理HBase中的海量数据,使用ZooKeeper作为协同服务。此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计变得非常简单;Sqoop则为HBase提供了方便的传统关系数据库数据导入功能,使得传统数据库数据向HBase中迁移变得非常方便。HBase的设计目的是处理非常庞大的表,甚至能使用普通的计算机处理超过10亿行的、由数百万列元素组成的数据表的数据。HBase使用场景和成功案例——互联网搜索功能搜索含有特定词语的文档,就需要查找索引,该索引提供了特定词语和包含该词语的所有文档的映射,因此,为了能够搜索,首先必须建立索引。Google和其他搜索引擎正是这么做的,它们的文档库是整个互联网,搜索的特定词语就是在搜索框里输入的任何东西。BigTable及其开源仿制品HBase为这种文档库提供存储:BigTable提供行级访问,因此爬虫可以在BigTable中插入和更新单个文档,每个文档则保存为BigTable中的一行。HBase的设计初衷之一就是用来存储互联网持续更新的网页副本,该功能在互联网服务的其它领域也同样适用。例如,由于HBase能完成从个人之间的通信信息存储到通信信息分析等多种任务,因而成为了Facebook、Twitter和StumbleUpon等多家社交网络公司的关键基础设施,在这一领域,HBase拥有众多的应用场景——抓取增量数据,内容服务,信息交换。HBase使用场景和成功案例——抓取增量数据HBase会抓取来自各种数据源的增量数据,这种数据源可能是网页爬虫,也可能是记录用户看了什么广告和看了多长时间广告的广告效果数据,还可能是记录各种参数的时间序列数据。下面介绍HBase在该领域的几个成功案例:抓取监控指标:OpenTSDB服务数百万用户的Web产品的后台基础设施一般都有数百或数千台服务器,这些服务器承担了各种功能,包括服务流量、抓取日志、存储数据和处理数据等。为了保证产品正常运行,监控这些服务器及其上面运行的软件的健康状态是至关重要的。而对整个环境进行大规模监控,需要能够采集和存储来自不同数据源的各种监控指标的监控系统,针对此问题,每个公司都有自己的解决方案,一些公司使用商业工具来收集和展示监控指标,而另外一些公司则使用开源框架。StumbleUpon创建了一个开源框架OpenTSDB,它是OpenTimeSeriesDataBase(开放时间序列数据库——按照时间收集监控指标一般被称为时间序列数据,即按照时间顺序收集和记录的数据)的缩写。OpenTSDB收集服务器的各种监控指标,并使用HBase作为核心平台来存储和检索所收集的监控指标。StumbleUpon创建OpenTSDB是为了拥有一个可扩展的监控数据收集系统,一方面,该框架能够存储和检索监控指标数据并保存很长时间;另一方面,如果需要增加功能,该框架也可以添加各种新的监控指标。StumbleUpon使用OpenTSDB监控所有基础设施和软件,也包括HBase集群自身。2.抓取用户交互数据:Facebook和StumbleUpon抓取监控指标是一种常见的HBase应用场景,另一种常见的应用场景则是抓取用户交互数据——例如,谁看了什么,或是某个按钮被点击了多少次。抓取和分析这些数据可以跟踪数百万用户在网站上的活动,以了解哪一个网站功能最受欢迎,或者怎样让某一次网页浏览直接影响到下一次,等等。Facebook和Stumble里的“Like(喜欢)”按钮和StumbleUpon里的“+1”按钮本质上是一个计数问题——用户每次“Like”一个特定主题,计数器就增加一次。StumbleUpon最初使用的是MySQL技术,但随着网站服务越来越庞大,用户在线负载需求急剧增长,远远超过了MySQL集群的处理能力。最终,StumbleUpon选择使用HBase来替换MySQL集群,但是,当时的HBase尚不能直接提供其必需的功能,于是StumbleUpon对其作了一些小的开发改动。FaceBook使用HBase的计数器来计量用户对特定网页的“Like”次数。使网页内容创作者和网页主人可以得到接近实时的用户偏好数据信息,从而更精准地判断应该为用户提供什么内容。为此,Facebook还创建了一个名为FacebookInsights的系统,由于该系统需要一个可扩展的存储系统,Facebook考虑了很多可能的选择,包括关系型数据库管理系统、内存数据库和Cassandra数据库,最后决定使用HBase。基于HBase,Facebook可以很方便地横向扩展服务规模,给数百万用户提供服务,并可继续沿用自身运行大规模HBase集群的已有经验。如今,FacebookInsights每天处理数百亿条事件,记录数百个监控指标。3.遥测技术:Mozilia和TrendMicro软件崩溃报告是非常有用的软件运行数据,经常用于探究软件质量和规划软件开发路线图,而使用HBase,可以成功地捕获和存储用户计算机上生成的软件崩溃报告。Mozilla基金会旗下的主要软件产品有二——FireFox网络浏览器和Thunderbird电子邮件客户端,这些软件产品安装在全世界数百万台计算机上,支持各种操作系统,当这些软件崩溃时,会以Bug报告的形式返回一个软件崩溃报告给Mozilla。那么Mozilla是如何收集这些数据的?收集后又是如何使用的呢?答案是:Mozilla的Socorro的系统收集了这些报告,用于指导研发部门研制更稳定的产品,而Socorro系统的数据存储和分析功能则建构在HBase上。TrendMicro为企业客户提供互联网安全服务。安全服务的重要环节是感知,而日志收集和分析对于提供这种感知能力至关重要。为此,TrendMicro使用HBase来管理网络信誉数据库,该数据库有点像Socorro系统,需要对行级更新和MapReduce批处理的支持,而HBase被用来收集和分析日志活动,每天可以收集数十亿条记录。HBase灵活的数据模式允许数据结构出现变化,因此当分析流程重新调整时,允许TrendMicro增加新属性。4.广告效果和点击流过去的十年,在线广告成为互联网产品的一个主要收入来源,主流模式为先提供免费服务给用户,在用户使用服务的同时,再投放广告给目标用户。这种精准投放需要对用户交互数据进行充分的捕获和详细的分析,以便理解用户的特征,再基于这种特征,选择并投放广告。精细的用户交互数据有利于塑造更好的用户特征模型,进而产生更好的广告投放效果,并获得更多的收入。用户交互数据有两个特点:一是往往以连续流的形式出现,二是很容易按用户划分。理想情况下,用户交互数据一旦产生就应该能够马上使用,使用户特征模型可以没有延迟地持续优化。HBase使用场景和成功案例——内容服务传统数据库最主要的使用场景之一是为用户提供内容服务。用户希望使用和交互的内容种类越来越多,互联网以及终端设备的迅猛增长,对这些应用的接入方式也提出了更高的要求,因为各种各样的终端设备需要以不同的格式使用同样的内容。1.URL短链接URL短链接指将长的URL转换为短的URL,这种URL短链接在最近非常流行,许多公司都推出了类似的产品,而StumbleUpon使用名字为su.pr.的短链接产品,该产品以HBase为基础,可以用来缩短URL,存储大量的短链接与和原始长链接的映射关系,而HBase则帮助这个产品实现扩展能力。2.用户模型服务用户模型是对网站目标群体真是特征的勾勒,是真实用户的虚拟代表。建立用户模型可以减少主观猜测,走近用户,理解他们真正的需要,从而能更好的为不同类型的用户服务。经HBase处理过的内容往往不直接提交给用户使用,而是用来决定应该提交给用户什么内容,这种中间数据常用于丰富用户的交互。前面提到的广告服务场景里的用户特征(或者说模型)就来自HBase,这类模型多种多样,可用于多种不同场景,例如决定针对特定用户投放什么广告;决定用户在电商网站购物时的实时报价;决定用户用搜索引擎检索时增加的背景信息和关联内容等。3.信息交换随着各种社交网站不断涌现,世界正变得越来越小。社交网站的一个重要作用就是帮助人们进行互动,这种互动有时在群组内发生(小规模和大规模),有时在两个人之间发生,实际上,每时每刻都有数亿人正在通过社交网络进行对话。但是,仅和远处的人对话并不足以让用户满意,他们还希望能查看和其他人对话的历史记录,而让社交网站公司感到幸运的是,大数据领域的创新让保存和使用这些历史记录变得十分廉价。在这方面,Facebook的短信系统是个经常被讨论的案例——当你使用Facebook时,你可以随时收到短信,或者发送短信给你的朋友。Facebook的这一特性完全依赖于HBase,因为用户读写的所有短信都存储在HBase里。Facebook的短信系统要求具备高的写吞吐量、极大的表以及数据中心内的强一致性,而HBase则是一个理想的解决方案,因为它具备上述所有特性,且拥有一个活跃的用户社区。在HBaseCon2012大会上,Facebook的工程师分享了一些惊人的数据:在Facebook平台上每天会交换数十亿条短信,带来大约750亿次操作。在高峰时刻,Facebook的HBase集群平均每秒发生150万次操作。从数据规模角度看,Facebook的HBase集群每月增加250TB的新数据,这可能是已知最大的HBase部署,无论是在服务器的数量方面,还是服务器所承载的用户量方面。某种意义上说,Facebook的短信系统也极大地推动了HBase的发展。上述案例解释了HBase如何解决一些有趣的老问题和新问题,它们揭示的一个共同点是HBase可以对相同数据进行在线服务和离线处理,而这正是HBase的独特之处。HBase和传统关系数据库的对比分析-1HBase与传统关系数据库存在很大区别,它按照BigTable模型开发,是一个稀疏的、分布式的、持续多维度的排序映射数组。HBase是一个基于列模式的映射数据库,它只能表示很简单的“键-数据”映射关系,因而大大简化了传统的关系数据库。传统关系数据库基本都具备以下特点:面向磁盘存储和索引结构。多线程访问。基于锁的同步访问机制。基于日志记录的恢复机制。HBase和传统关系数据库的对比分析-2而HBase和传统关系数据库的具体区别如下:数据类型:HBase只有简单的字符串类型,所有其他类型都由用户自己定义,它只保存字符串,而关系数据库有丰富的数据类型和存储方式。数据操作:HBase只提供很简单的插入、查询、删除、清空等操作,且HBase的表和表之间是分离的,没有复杂的表表间关系,也没必要实现表和表之间的关联等操作,而传统的关系数据库通常有各种各样的函数和连接操作。存储模式:HBase是基于列存储的,几个文件保存在一个列族中,不同列族的文件是分离的,而传统的关系数据库是基于表格结构和行模式保存的。数据维护:HBase的更新其实不是更新,只是一个主键或者列对应的新版本,其旧有的版本仍然会保留,所以实际上只是插入了新的数据,而不是传统关系数据库里的替换修改。可伸缩性:HBase能够轻易地增加或者减少(在硬件错误的时候)硬件数量,且对错误的兼容性较高,而传统的关系数据库通常需要增加中间层才能实现类似的功能。相比之下,BigTable和HBase这类基于列模式的分布式数据库显然更适应海量存储和互联网应用的需求:首先,灵活的分布式架构使其可以利用廉价的硬件设备组建庞大的数据仓库;其次,互联网应用是以字符为基础的,而BigTable和HBase正是针对这些应用而开发出来的数据库。HBase数据模型HBase中,表的索引是行关键字、列关键字和时间戳,每个值是一个不加解释的字符数组,数据则都是字符串,没有其他类型。HBase数据实例的模型如表:RowKeyTimestampColumnFamilyURIParserr1t3url=title=天天特价t2host=
t1
r2t5url=content=每天…t4host=
HBase数据模型——相关概念在HBase数据模型中,存在以下三个重要概念:行键(RowKey):HBase表的主键,表中的记录按照行键排序。时间戳(TimeStamp):每次数据操作对应的时间戳,可以看作数据的版本号。列族(ColumnFamily):表在水平方向由一个或者多个列族组成,一个列族则可以由任意多个列组成,即列族支持动态扩展,无需预先定义列的数量及类型,所有列均以二进制格式存储,用户需要手动进行类型转换。HBase数据模型——概念视图可以将一个HBase表看作一个大的映射关系,通过主键,或者主键+时间戳,就可以定位一行数据,由于是稀疏数据,所以某些列可以是空白的。HBase表所存储数据的概念视图如表:RowKeyTimeStampColumn"contents:"Column"anchor:"Column"mime:""n.www"t9
"anchor:""CNN"
t8
"anchor:my.look.ca""CNN.com"
t6"<html>c..."
"text/html"t5"<html>b..."
t3"<html>a..."
该表是一个Web网页数据的存储片断,其中,行键名是一个反向URL(即n.www);contents列族用来存放网页内容;anchor列族存放引用该网页的锚链接文本;CNN的主页被SportsIllustrater(即SI,CNN的王牌体育节目)和MY-look的主页引用,因此该行包含了名为“anchor:”和“anchhor:my.look.ca”的两个列;每个网页的锚链接只有一个版本(由时间戳标识,如t9、t8),而contents列则有三个版本,分别由时间戳t3,t5和t6标识。HBase数据模型——物理视图虽然从概念视图来看,HBase中的每个表是由很多行组成的,但是,在物理存储时,它是按照列来保存的,例如,上表的概念视图在物理存储时应该呈现出类似于下面表的形态RowKeyTimeStampColumn"anchor:""n.www"t9"anchor:""CNN"t8"anchor:my.look.ca""CNN.com"RowKeyTimeStampColumn"contents:""n.www"t6"<html>c..."t5"<html>b..."t3"<html>a..."RowKeyTimeStampColumn"mime:""n.www"t6"text/html"HBase数据模型——物理存储物理存储特点如下:Region是HBase数据存储和管理的基本单位,一个表可以包含一个或多个Region,Table在行的方向上分割为多个Region。Table中的所有行都按照RowKey的字典序排列。Region是按大小分割的,每个表开始只有一个Region,随着数据增多,Region会不断增大,当增大到一个阀值的时候,Region就会等分成两个新的Region,以此类推,会产生越来越多的Region。不同Region分布到不同的RegionServer上,如图HBase数据模型——物理存储e)Region虽然是分布式存储的最小单元,但并不是存储的最小单元。Region由一个或者多个Store组成,每个Store保存一个ColumnsFamily,每个Store又由一个MemStore和0至多个StoreFile组成,StoreFile则包含HFile。MemStore存储在内存中,StoreFile存储在HDFS上,如图HBase组成架构HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由三种类型的节点组成——HMaster节点、HRegionServer节点、ZooKeeper集群。而在底层,HBase将数据存储于HDFS中,因而也涉及到HDFS的NameNode节点、DataNode节点等。HBase的总体架构如图:HBase组成架构——HRegionHBase使用RowKey将表水平切割为多个HRegion,从HMaster的角度,每一个HRegion都纪录了RowKey的StartKey和EndKey(第一个HRegion的StartKey为空,最后一个HRegion的EndKey为空)。由于RowKey是可以排序的,因此Client可以通过HMaster节点快速定位每一个RowKey都在哪个HRegion中。HRegion由HMaster节点分配到相应的HRegionServer节点中,然后由HRegionServer节点负责HRegion的启动和管理以及和Client的通信,并实现数据的读操作(使用HDFS),如图:HBase组成架构——HMasterHMaster避免了单点故障问题,用户可以启动多个HMaster节点,并通过ZooKeeper的MasterElection机制保证同时只有一个HMaster节点处于active状态,其他的HMaster节点则处于热备份状态。但是,一般情况下只会启动两个HMaster节点,因为非active状态的HMaster节点会定期和active状态下的HMaster节点通信,获取其最新状态来保证自身的实时更新,如启动的HMaster节点过多,反而会增加active状态下的HMaster节点的负担。HMaster职责主要包括两大部分,如图:HBase组成架构——ZooKeeperZooKeeper为HBase集群提供协调服务,它管理着HMaster节点和HRegionServer节点的状态(available/alive等),并且会在它们宕机时通知HMaster节点,从而实现HMaster节点之间的故障切换,或对宕机的HRegionServer节点中的HRegion进行修复(将它们分配给其他的HRegionServer节点),如图:安装HBaseHBase有三种运行模式,其中单机模式的配置最为简单,几乎无需对安装文件做任何修改就可直接安装,但如果使用分布式模式,Hadoop就是必不可少的。1.单机模式安装HBase安装文件默认支持单机模式,就是说在单机模式下,HBase的安装包解压后可直接运行。单机模式下HBase并不使用HDFS,可以使用如下命令解压安装包。tarxfzhbase-1.2.4-bin.tar.gzcdhbase-1.2.4运行安装文件之前,建议用户修改hbase-site.xml文件,该文件是HBase的配罝文件,通过它可以更改HBase的基本配置。例如,默认情况下HBase的数据是存储在根目录的tmp文件夹下的,但熟悉Linux的用户都知道,此文件夹为临时文件夹,也就是说,系统重启时此文件夹中的内容将被清空,这样保存在HBase中的数据也会丢失,这当然是用户不想看到的,因此,有必要将HBase的数据存储目录修改为其他存储位置,具体修改内容如下。<configuration><property><name>hbase.rootdir</name><value>file:///tmp/hbase</value></property></configuration>伪分布模式安装伪分布模式是一种运行在单个节点(单台机器)上的分布式模式,在这种模式下,HBase所有的守护进程都将运行在同一个节点之上。由于分布式模式的运行需要依赖于分布式文件系统,因此,在安装HBase前必须确保HDFS已经成功安装运行。一切准备就绪后,开始配置HBase的参数(即修改hbase-site.xml文件),通过设定hbase.rootdir参数,指定HBase的数据存放位置,进而让HBase运行在Hadoop之上,具体配置如下。<configuration><property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value><description>此参数指定了数据存放位置</description></property><property><name>dfs.replication</name><value>l</value><description>此参数指定了Hlog和Hfile的副本个数,此参数的值不能大于HDFS的节点数。伪分布模式下DataNode只有一台,因此此数应设置为1</description></property></configuration>3.全分布模式安装在全分布模式下安装HBase,需要修改hbase-site.xml文件来配置本机的HBase功能,并修改hbase-env.sh文件来配置全局HBase的特性。此外,各个HBase实例之间都需要通过ZooKeeper进行通信,因此还需要维护一个(一组)ZooKeeper系统。下面分别介绍对这三个重要方面的配置:1)配置conf/hbase-site.xml配置参数hbase.rootdir和hbase.cluster.distributed对HBase来说是必需的:通过参数hbase.rootdir指定HBase数据的本机存储目录,通过参数hbase.cluster.distributed说明HBase的运行模式——true为全分布模式,false为单机模式或伪分布模式,具体配置如下。<configuration><property><name>hbase.rootdir</name><value>hdfs://24:9000/hbase</value><description>存储Hbase数据库数据的目录</deacription></property><property><name>hbase.cluster.distributed</name><value>true</value><description>HBase运行的模式,false:单机模式或伪分布模式,true:全分布模式</description></property></configuration>2)
配置conf/regionserversregionservers文件列出了所有运行HBase的服务器(即HRegionServer),对该文件的配置与Hadoop中对Slaves文件的配置十分相似:在文件中的每一行指定一台服务器,当HBase启动的时候,会将该文件中指定的所有服务器启动;而当HBase关闭的时候,也会同时关闭它们。例如,三台服务器的IP地址分别为:24、31、32。修改每台服务器的/etc/hosts文件,内容如下所示,注意对每台服务器的修改必须完全相同。24 hbase-031 hbase-l32 hbase-2上述配置表明,三台服务器中的HBaseMaster与HDFSNameNode运行在HBase-0上,RegionServers则运行在HBase-1和HBase-2上。完成上述配置后,修改每台服务器HBase安装目录下的conf/regionservers文件,修改内容如下。hbase-1hbase-2上述配置表明,HBaseRegionServer运行在HBase-1、HBase-2两台服务器上。3)配置ZooKeeper全分布模式的HBase集群需要ZooKeeper实例才能运行,而且所有的HBase节点都要能够与ZooKeeper实例通信。默认情况下,HBase自身维护着一组ZooKeeper实例,但用户也可以配置独立的ZooKeeper实例,这样可以使HBase系统更加健壮。要使用独立的ZooKeeper实例,需要修改配置文件conf/hbase-env.sh,更改其中HBASE_MANAGES_ZK变量的值,该变量的默认值为true,若将其修改为false,则意味着不使用默认的ZooKeeper实例。本例中使用HBase默认的ZooKeeper实例。首先,修改配置文件conf/hbase-env.sh,修改内容如下。exportHBASE_MANAGES_ZK=true然后,修改配置文件conf/hbase-site.xml,修改内容如下。<configuration><property><name>hbase.zookeeper.quorum</name><value>Hbase-1,Hbase-2</value><description>ZooKeeper集群服务器的位置</description></property></configuration>上述配置表明:当使用默认的ZooKeeper实例时,HBase将自动启动或停止ZooKeeper实例;而当使用独立的ZooKeeper实例时,则需要用户手动启动或停止ZooKeeper实例。需要注意:启动时,需要先启动ZooKeeper实例再启动HBase;关闭时,则需要先关闭HBase,然后再关闭ZooKeeper实例。运行HBaseHBase有三种运行模式,不同模式下启动/停止HBase服务的步骤略有不同。下面将分别讲解如何在三种模式下启动/停止HBase服务。1.单机模式单机模式下,直接在终端中输入如下命令,即可启动HBase服务。start-hbase.sh启动成功后的界面如图:输入如下命令,即可停止Hbase服务。stop-hbase.sh在停止过程中,可以看到如图2.伪分布模式HBase在伪分布模式下的运行是基于HDFS的,因此在运行HBase之前需要先启动HDFS,在终端上执行如下命令即可。start-dfs.sh3.全分布模式与在伪分布模式下相同,全分布模式下的HBase运行之前也需要保证HDFS已经成功启动。此时,只需在NameNode节点(即HMaster节点)上运行文件start-hbase.sh即可。HBaseShellHBase为用户提供了一种非常方便的工具HBaseShell,它支持大多数的HBase命令,可以高效地创建、删除及修改表,还可以向表中添加数据,或者列出表中的相关信息。启动HBase后,执行如下命令,即可进入HBaseShell。hbaseshell成功进入后的界面如图:进入HBaseShell后,执行help命令,可获取对HBaseShell所支持命令的基本介绍,如表:HBaseShell命令描述alter修改列族(ColumnFamily)模式count统计表中行的数量create创建表describe显示表相关的详细信息delete删除指定对象的值(可以为表、行、列对应的值,也可以指定时间戳的值)deleteall删除指定行的所有元素值disable使表无效drop删除表enable使表有效exists测试表是否存在exit退出HBaseShellget获取行或单元(Cell)的值incr增加指定表,行或列的值list列出HBase中存在的所有表put向指向的表单元添加值tools列出HBase所支持的工具scan通过对表的扫描来获取对应的值status返回HBase集群的状态信息shutdown关闭HBase集群(与exit不同)truncate重新创建指定表version返回HBase版本信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艺术鉴赏情景剧剧本范文
- 自然选择与进化论:高二生物教学方案
- 高三英语教学计划优化方案
- 2024-2030全球床头小夜灯行业调研及趋势分析报告
- 《小学数数与乘法口诀表教学方案》
- 2025年沙滩车鞍座行业深度研究分析报告
- 金融科技在智能支付领域的应用合作合同
- 网络广告代理及运营服务合同
- 学校设施维护督导方案
- 专业设计软件采购与销售合同
- 2025年常州机电职业技术学院单招职业技能测试题库含答案
- 南充经济开发区投资集团有限公司2024年招聘笔试参考题库附带答案详解
- 甘肃四年级信息技术下册教学设计(简版)(含核心素养)
- 2025年锡林郭勒职业学院单招职业技能测试题库标准卷
- 2024年湖北省武汉市中考数学试题(解析版)
- 《大气污染物控制工程》-挥发性有机物污染控制
- (正式版)SHT 3551-2024 石油化工仪表工程施工及验收规范
- 人音版四年级音乐下册全册教学设计教案表格式
- 大型火电厂变压器概述PPT课件
- 第二季度福建省施工机械台班单价
- 铸造专业相关英语词汇
评论
0/150
提交评论