Hive数据仓库简介与安装

news2024/10/5 16:22:19

文章目录

  • Hive数据仓库简介及安装配置
    • 一、数据仓库简介
      • 1. 什么是数据仓库
      • 2. 数据仓库的结构
        • 1)数据源
        • 2)数据存储与管理
        • 3)OLAP服务器
        • 4)前端工具
      • 3. 数据仓库的数据模型
        • 1)星状模型
        • 2)雪花模型
    • 二、Hive简介
      • 1. 什么是Hive
      • 2. Hive系统架构
      • 3. Hive工作原理
      • 4. Hive数据模型
    • 三、Hive的安装模式简介
    • 四、远程模式安装
      • 1.下载安装包
      • 2.上传
      • 3. 解压
      • 4.解决hadoop、hive之间guava版本差异
      • 5. 修改配置文件
        • 1)进入配置文件
        • 2)复制模板文件
        • 3)修改hive-env.sh
        • 4)添加 hive-site.xml 文件,配置MySQL的相关信息
      • 6. 上传MySQL驱动
      • 7. 初始化metadata
      • 8. 启动hive
    • 五、Hive的管理
      • 1. Hive的管理之CLI方式
        • 1)启动Hive
        • 2)退出Hive
        • 3)查看数据库中的表
        • 4)查看数据库的内置函数
        • 5)清屏
      • 2. Hive的管理之远程服务
        • 1)分发hive到hadoop002和hadoop003
        • 2)配置hadoop中的core-site.xml文件,允许hive访问
        • 3)启动hadoop集群和MySQL数据库
        • 4)启动 Hiveserver2 服务
        • 5)测试

Hive数据仓库简介及安装配置

Hive起源于Facebook,Facebook公司有着大量的日志数据,而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架,可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发,但对于其他语言使用者则难度较大。因此Facebook开发团队想设计一种使用SQL语言对日志数据查询分析的工具,而Hive就诞生于此,只要懂SQL语言,就能够胜任大数据分析方面的工作,还节省了开发人员的学习成本。

一、数据仓库简介

1. 什么是数据仓库

数据仓库是一个面向主题的、集成的、随时间变化的,但信息本身相对稳定的数据集合,它用于支持企业或组织的决策分析处理,这里对数据仓库的定义,指出了数据仓库的三个特点。

(1)数据仓库是面向主题的。

操作型数据库的数据组织是面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织,这里说的“主题”是一个抽象的概念,它指的是用户使用数据仓库进行决策时关心的重点方面,一个主题通常与多个操作型信息系统相关。例如,商品的推荐系统就是基于数据仓库设计的,商品的信息就是数据仓库所面向的主题。

(2)数据仓库是随时间变化的。

数据仓库是不同时间的数据集合,它所拥有的信息并不只是反映企业当前的运营状态,而是记录了从过去某一时间点到当前各个阶段的信息。可以这么说,数据仓库中的数据保存时限要能满足进行决策分析的需要(如过去的5~10年),而且数据仓库中的数据都要标明该数据的历史时期。

(3)数据仓库相对稳定。

数据仓库是不可更新的。因为数据仓库主要目的是为决策分析提供数据,所涉及的操作主要是数据的查询,一旦某个数据存入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,修改和删除操作很少,通常只需要定期的加载、刷新来更新数据。

多学一招:OLTP和OLAP

数据处理大致可以分为两类,分别是联机事务处理(OLTP)和联机分析处理(OLAP),其中:

(1)OLTP是传统关系数据库的主要应用,主要针对的是基本的日常事务处理,例如,银行转账。

(2)OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果,例如,商品的推荐系统。

接下来,通过一张表来比较OLTP和OLAP,具体如表所示。

对比项目OLTPOLAP
用户操作人员、底层管理人员决策人员、高级管理人员
功能日常操作处理分析决策
DB设计基于ER模型,面向应用星型/雪花型模型,面向主题
DB规模GB至TB≥TB
数据最新的、细节的、二维的、分立的历史的、聚集的、多维的、集成的
存储规模读/写数条(甚至数百条)记录读上百万条(甚至上亿条)记录
操作频度非常频繁(以秒计)比较稀松(以小时甚至以周计)
工作单元严格的事务复杂的查询
用户数数百个至数千万个数个至数百个
度量事务吞吐量查询吞吐量、响应时间

2. 数据仓库的结构

数据仓库的结构是由数据源、数据存储及管理、OLAP服务器和前端工具四个部分组成。

1)数据源

数据源是数据仓库的基础,即系统的数据来源,通常包含企业的各种内部信息和外部信息。

内部信息,例如存在数据操作数据库中的各种业务数据和自动化系统中包含的各类文档数据;外部信息,例如各类法律法规,市场信息、竞争对手的信息以及外部统计数据和其他相关文档等。

2)数据存储与管理

数据存储及管理是整个数据仓库的核心。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了对外部数据的表现形式。针对系统现有的数据,进行抽取、清理并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以划分为企业级数据仓库和部门级数据仓库,也就是所谓的数据集市。数据集市可以理解为是一个小型的部门或者工作组级别的数据仓库。

3)OLAP服务器

OLAP服务器对需要分析的数据按照多维数据模型进行重组,以支持用户随时进行多角度、多层次的分析,并发现数据规律和趋势。

4)前端工具

前端工具主要包含各种数据分析工具、报表工具、查询工具、数据挖掘工具以及各种基于数据仓库或数据集市开发的应用。

3. 数据仓库的数据模型

在数据仓库建设中,一般会围绕着星状模型和雪花模型来设计数据模型。下面先来介绍这两种模型的概念。

1)星状模型

在数据仓库建模中,星状模型是维度建模中的一种选择方式。星状模型是由一个事实表和一组维度表组合而成,并且以事实表为中心,所有的维度表直接与事实表相连。

在上图中,所有的维度表都直接连接到事实表上,维度表的主键放置在事实表中,作为事实表与维度表连接的外键,因此,维度表和事实表是有关联的,然而,维度表与维度表并没有直接相连,因此,维度表之间是并没有关联的。

2)雪花模型

雪花模型也是维度建模中的另一种选择,它是对星型模型的扩展。

雪花模型是当有一个或多个维表没有直接连到事实表上,而是通过其他维表连到事实表上,其图解像多个雪花连在一起,故称雪花模型。雪花模型是对星型模型的扩展,原有的各维表可被扩展为小的事实表,形成一些局部的 "层次 " 区域,被分解的表都连主维度表而不是事实表。

多学一招:什么是事实表和维度表

1.事实表

每个数据仓库都包含一个或者多个事实数据表,事实表是对分析主题的度量,它包含了与各维度表相关联的外键,并通过连接(Join)方式与维度表关联。

事实表的度量通常是数值类型,且记录数会不断增加,表规模迅速增长。例如,现存在一张订单事实表,其字段Prod_id(商品id)可以关联商品维度表、TimeKey(订单时间)可以关联时间维度表等。

2.维度表

维度表可以看作用户分析数据的窗口,维度表中包含事实数据表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息。

维度表包含帮助汇总数据的特性的层次结构,维度是对数据进行分析时特有的一个角度,站在不同角度看待问题,会有不同的结果。例如,当分析产品销售情况时,可以选择按照商品类别、商品区域进行分析,此时就构成一个类别、区域的维度。维度表信息较为固定,且数据量小,维度表中的列字段可以将信息分为不同层次的结构级。

二、Hive简介

1. 什么是Hive

Hive是建立在Hadoop文件系统上的数据仓库,它提供了一系列工具,能够对存储在HDFS中的数据进行数据提取、转换和加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的工具。Hive定义简单的类SQL查询语言(即HQL),可以将结构化的数据文件映射为一张数据表,允许熟悉SQL的用户查询数据,允许熟悉MapReduce的开发者开发mapper和reducer来处理复杂的分析工作,与MapReduce相比较,Hive更具有优势。

Hive采用了SQL的查询语言HQL,因此很容易将Hive理解为数据库。其实从结构上来看,Hive和数据库除了拥有类似的查询语言,再无类似之处,MySQL与Hive对比如下所示。

对比项HiveMySQL
查询语言Hive QLSQL
数据存储位置HDFS块设备、本地文件系统
数据格式用户定义系统决定
数据更新不支持支持
事务不支持支持
执行延迟
可扩展性
数据规模

2. Hive系统架构

Hive是底层封装了Hadoop的数据仓库处理工具,运行在Hadoop基础上,其系统架构组成主要包含4部分,分别是用户接口、跨语言服务、底层驱动引擎及元数据存储系统。

下面针对Hive系统架构的组成部分进行讲解。

(1)用户接口:主要分为3个,分别是CLI、JDBC/ODBC和Web UI。其中,CLI即Shell终端命令行,它是最常用的方式。JDBC/ODBC是Hive的Java实现,与使用传统数据库JDBC的方式类似,Web UI指的是通过浏览器访问 Hive 。

(2)跨语言服务(Thrift Server):Thrift 是 Facebook开发的一个软件框架,可以用来进行可扩展且跨语言的服务。Hive集成了该服务,能让不同的编程语言调用 Hive 的接口。

(3)底层的驱动引擎:主要包含编译器(Compiler),优化器(Optimizer)和执行器(Executor),他们用于完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成,生成的查询计划储存在 HDFS 中,并在随后由MapReduce调用执行。

(4)元数据存储系统(Metastore):Hive的元数据通常包含表名、列、分区及其相关属性,表数据所在目录的位置信息,Metastore默认存储在自带的Derby数据库中。由于Derby数据库不适合多用户操作,并且数据存储目录不固定,不方便管理,因此,通常都将元数据存储在MySQL数据库。

3. Hive工作原理

Hive建立在Hadoop系统之上,因此Hive底层工作依赖于Hadoop服务,Hive底层工作原理如下所示。

接下来,针对图中的 Hive 和 Hadoop之间的工作进程进行简单说明。

(1)UI 将执行的查询操作发送给Driver执行。

(2)Driver 借助查询编译器解析查询,检查语法和查询计划或查询需求。

(3)编译器将元数据请求发送到 Metastore。

(4)编译器将元数据作为对编译器的响应发送出去。

(5)编译器检查需求并将计划重新发送给Driver。至此,查询的解析和编译已经完成。

(6)Driver将执行计划发送给引擎执行 Job任务。

(7)执行引擎从DataNode上获取结果集,并将结果发送给 UI 和 Driver。

4. Hive数据模型

Hive中所有的数据都存储在HDFS中,它包含数据库(Database)、表(Table)、分区表(Partition)和桶表(Bucket)四种数据类型。

下面针对Hive数据模型中的数据类型进行介绍。

(1)数据库:相当于关系数据库中的命名空间(namespace),它的作用是将用户和数据库的应用,隔离到不同的数据库或者模式中。

(2)表:Hive的表在逻辑上由存储的数据和描述表格数据形式的相关元数据组成。表存储的数据存放在分布式文件系统里,如HDFS。Hive中的表分为两种类型,一种叫作内部表,这种表的数据存储在 Hive数据仓库中;一种叫作外部表,这种表的数据可以存放在Hive 数据仓库外的分布式文件系统中,也可以存储在 Hive 数据仓库中。值得一提的是,Hive 数据仓库也就是HDFS中的一个目录,这个目录是Hive数据存储的默认路径,它可以在Hive的配置文件中配置,最终也会存放到元数据库中。

(3)分区:分区的概念是根据“分区列”的值对表的数据进行粗略划分的机制,在Hive存储上的体现就是在表的主目录(Hive的表实际显示就是一个文件夹)下的一个子目录,这个子目录的名字就是定义的分区列的名字。

分区是为了加快数据查询速度设计的,例如,现在有个目志文件,文件中的每条记录都带有时间戳。如果根据时间来分区,那么同一天的数据将会被分到同一个分区中。这样的话,如果查询每一天或某几天的数据就会变得很高效,因为只需要扫描对应分区中的文件即可。

注意:分区列不是表里的某个字段,而是独立的列,根据这个列查询存储表中的数据文件。

(4)桶表:简单来说,桶表就是把“大表”分成了“小表”。把表或者分区组织成桶表的目的主要是为了获得更高的查询效率,尤其是抽样查询更加便捷。桶表是 Hive数据模型的最小单元,数据加载到桶表时,会对字段的值进行哈希取值,然后除以桶个数得到余数进行分桶,保证每个桶中都有数据,在物理上,每个桶表就是表或分区的一个文件。

三、Hive的安装模式简介

Hive 的安装模式分为3种,分别是嵌入模式、本地模式和远程模式。下面针对这3种模式进行介绍。

(1)嵌入模式:使用内嵌的Derby数据库存储元数据,这种方式是Hive的默认安装方式,配置简单,但是一次只能连接一个客户端,适合用来测试,不适合生产环境。

(2)本地模式:采用外部数据库存储元数据,该模式不需要单独开启 Metastore服务,因为本地模式使用的是和 Hive在同一个进程中的Metastore服务。

(3)远程模式:与本地模式一样,远程模式也是采用外部数据库存储元数据。不同的是,远程模式需要单独开启 Metastore服务,然后每个客户端都在配置文件中配置连接该Metastore 服务。远程模式中,Metastore 服务和 Hive 运行在不同的进程中。

四、远程模式安装

本地和远程模式安装配置方式大致相同,本质上是将Hive默认的元数据存储介质由自带的Derby数据库替换为MySQL数据库。

MySQL前面已经安装过了。这里不在赘述。

1.下载安装包

下载地址:https://dlcdn.apache.org/hive/

image-20221208122740366

image-20221208122845728

image-20230107181947145

2.上传

image-20221208123446905

3. 解压

将hive安装包解压到/export/servers/目录下

tar zvxf apache-hive-3.1.2-bin.tar.gz -C /export/servers/

image-20221208124145756

4.解决hadoop、hive之间guava版本差异

image-20221208130830396

image-20221208130509009

把hadoop安装包下的guava复制到删除的文件目录下

cp guava-27.0-jre.jar /export/servers/apache-hive-3.1.2-bin/lib/

image-20221208131146211

5. 修改配置文件

1)进入配置文件

image-20221208124444105

2)复制模板文件

image-20221208124850817

3)修改hive-env.sh

image-20221208132332914

4)添加 hive-site.xml 文件,配置MySQL的相关信息

由于 Hive 安装包 conf 目录下,没有提供 hive-site.xml 文件,这里需要创建并编辑一个 hive-site.xml 配置文件,具体内容如下所示:

image-20221208133339578

image-20221208171431772

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <!-- MySQL数据库地址 -->
	<property>
         <name>javax.jdo.option.ConnectionURL</name>
         <value> jdbc:mysql://hadoop001:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
	</property>
        <!-- MySQL数据库驱动 -->
	<property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
	</property>
        <!-- MySQL数据库账号 -->
	<property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>20bigdata</value>
	</property>
        <!-- MySQL数据库密码 -->
	<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>Bigdata2022!</value>
	</property>
	
</configuration>


6. 上传MySQL驱动

由于使用的是MySQL数据库,那么就需要上传MySQL连接驱动的 jar 包到 Hive 安装包lib文件夹下。

image-20221208155413099

7. 初始化metadata

bin/schematool -initSchema -dbType mysql -verbose

image-20221208171521335

image-20221208171544634

初始化成功会在mysql中自动创建hive数据库和74张表

image-20221208171701119

8. 启动hive

在这里插入图片描述

五、Hive的管理

1. Hive的管理之CLI方式

Hive CLI是Hive的交互工具,下面演示几种 CLI 的使用。

1)启动Hive

#<HIVE_HOME>/bin/hive

image-20221208172523471

2)退出Hive

hive> exit;
hive> quit;

3)查看数据库中的表

hive> show tables;

image-20221208173024504

4)查看数据库的内置函数

hive> show functions;

在这里插入图片描述

5)清屏

hive> !clear;

2. Hive的管理之远程服务

由于使用CLI连接方式不能进行多个节点的同时访问,而且会造成服务器阻塞,且出于对服务器安全性的考虑, Hive服务所部署的服务器通常用户是无法直接访问的,因此,必须选用远程服务启动模式,具体启动步骤如下。

1)分发hive到hadoop002和hadoop003

首先,将hadoop001服务器安装的 Hive 程序分别复制到 hadoop002 和 hadoop003服务器上,具体命令如下:

scp -r /export/servers/apache-hive-3.1.2-bin/ hadoop002:/export/servers/
scp -r /export/servers/apache-hive-3.1.2-bin/ hadoop003:/export/servers/

image-20221208185131105

image-20221208185211667

2)配置hadoop中的core-site.xml文件,允许hive访问

<!-- 配置访问hadoop的权限,能够让hive访问到 -->
	<property>
		<name>hadoop.proxyuser.root.hosts</name>
		<value>*</value>
	</property>
	<property>
		<name>hadoop.proxyuser.root.users</name>
		<value>*</value>
	</property>

image-20221208211359183

分发到hadoop002和hadoop003上

scp /export/servers/hadoop-3.1.4/etc/hadoop/core-site.xml hadoop002:/export/servers/hadoop-3.1.4/etc/hadoop/
scp /export/servers/hadoop-3.1.4/etc/hadoop/core-site.xml hadoop003:/export/servers/hadoop-3.1.4/etc/hadoop/

image-20221208211545676

3)启动hadoop集群和MySQL数据库

4)启动 Hiveserver2 服务

在hadoop001上启动 Hiveserver2 服务,具体命令如下:

bin/hiveserver2

执行完上述命令后,在hadoop001服务器上就已经启动了 Hive 服务,当前的命令窗口没有任何反应,无法执行其他操作,如下图所示:

image-20221208190043680

此时,可以使用 SecureCRT 软件的克隆会话功能(右击会话窗口,单击 Clone Session 选项)打开新的 hadoop001会话窗口,使用 Jps命令可以查看 Hive 服务启动情况,如下图所示。

image-20221208190832591

image-20221208190859730

在 hadoop002服务器的 Hive安装包下,通过远程连接命令 bin/beeline 进行连接,并且输入连接协议,然后根据提示输入 Hive 服务器的用户名和密码,即可连接到 Hive 服务,具体指令如下:

//输入远程连接命令
bin/beeline
//输入远程连接协议,连接到指定 Hive 服务 (hadoop001)的主机名和端口(默认为10000)
beeline>! connect jdbc:hive2://hadoop001:10000
//输入连接 Hive 服务器的用户名和密码
Enter username for jdbc:hive2://hadoop001:10000: root
Enter password for jdbc:hive2://hadoop001:10000: 

image-20221208212018455

5)测试

在hadoop002服务器执行 show databases后,可以成功显示数据仓库的列表信息,说明远程连接 Hive 成功。

image-20221208212126656

小提示:在连接 Hive 数据仓库进行相关操作时,会使用到数据库(如MySQL),还会依赖 MapReduce 进行数据处理,所以在进行 Hive 连接前,必须保证 Hadoop 集群以及第三方数据库 MySQL 已经启动,否则,在连接过程中会出现拒绝连接的错误提示。

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

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

相关文章

【踩坑总结】解决pycharm下载依赖一直失败的问题

目录前言正文问题复现问题本质解决方案补充总结检查是否安装成功下载的依赖存在哪总结前言 pycharm下载依赖失败这个问题对于我来说已经是个老生常谈的问题&#xff0c;与之共交手三次。 首次交锋是在大二利用 树莓派 做图像采集传输时&#xff0c;在树莓派的ubantu上使用pyt…

docker 容器使用 loki 插件收集日志

相关资料: The log-opts in the /etc/docker/daemon.json is not relaoded - General Discussions - Docker Community ForumsRecently I want to use loki-log-driver to ship logs to the loki server. The docker-deamon is controlled by systemd. The /etc/docker/daemon…

Day2 Spring

1 BeanFactory 与ApplicationContext的关系BeanFactory与ApplicationContext的关系BeanFactory是Spring的早期接口&#xff0c;称为Spring的Bean工厂&#xff0c;ApplicationContext是后期更高级接口&#xff0c;称之为Spring 容器;ApplicationContext在BeanFactory基础上对功能…

Pytorch 多层感知机

一、什么是多层感知机 多层感知机由感知机推广而来&#xff0c;最主要的特点是有多个神经元层&#xff0c;因此也叫深度神经网络(DNN: Deep Neural Networks)。 二、如何实现多层感知机 1、导入所需库并加载fashion_mnist数据集 %matplotlib inline import torch import to…

java弹幕视频网站源码

简介 Java基于ssm的弹幕视频系统&#xff0c;用户注册后可以上传视频进行投稿&#xff0c;也可以浏览视频发送弹幕&#xff0c;在个人中心管理视频、管理弹幕、管理评论等。管理员可以管理视频弹幕评论&#xff0c;查看统计图。 演示视频&#xff1a; https://www.bilibili.c…

CVE-2020-0014 Toast组件点击事件截获漏洞

文章目录前言漏洞分析组件源码触摸属性漏洞利用POC分析漏洞复现漏洞修复总结前言 Toast 组件是 Android 系统一个消息提示组件&#xff0c;比如你可以通过以下代码弹出提示用户“该睡觉了…”&#xff1a; Toast.makeText(this, "该睡觉了…", Toast.LENGTH_SHORT)…

C语言文件操作-从知识到实践全程

目录 引入 文件的打开和关闭 文件如何使用程序来打开? 绝对路径需要转义字符 fopen函数 fclose函数 文件的打开方式(fopen第二参数const char* mode): 文件的顺序读写 fgetc和fputc的使用 fputc fgetc fgets和fputs的使用 fputs fgets perror的使用 fprint…

哪些程序员适合自由工作?(附平台推荐)

在早些时候进行远程办公&#xff0c;接私活或者跨国进行编程&#xff0c;赚点外快等也不是什么奇怪的事情。但是那时候没有人想到会把这些工作完全变成自己的主要业务——也就是我们说的自由工作。也不知道是哪一个第1个吃了螃蟹的人发现自由工作还不错&#xff0c;于是经过后面…

【JavaScript】DOM 学习总结-基础知识

获取元素方法&#xff1a; // 获取三个非常规的标签 console.log(document.documentElement) console.log(document.head) console.log(document.body)通过id/class获取&#xff1a;getElementById / getElementsByClassName // 获取常规的用id,class,tag var boxdocument.g…

Android 自定义Activity的主题

一. 前言 当在某个app中做一个新界面时, 我们要考虑一下主题风格相符合一致. 本篇文章讲解的是,如何新创建的Activity 与整个app主题符合, 特别是状态栏的颜色需要和这个app的状态栏颜色保持一致. 在读本篇文章之前, 可以移步一下笔者之前写的文章:Android style&#xf…

代码随想录算法训练营第十一天字符串 java :20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值

文章目录Leetcode 20. 有效的括号题目详解数据结构 双端队列(deque)Deque有三种用途&#xff1a;思路报错Ac代码Leetcode1047. 删除字符串中的所有相邻重复项题目详解数据结构 ArrayDeque类思路AC代码150. 逆波兰表达式求值题目详解报错难点AC代码收获Leetcode 20. 有效的括号 …

系分 - 系统设计

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录系分 - 系统设计考点摘要系统设计软件设计软件架构设计结构化设计概要设计详细设计处理流程设计流程工作流活动及其所有者工作项工作流管理系统WFMS的基本功能WFMS的组成WRM流程设计工具用户界面设计/人机…

python算法与数据结构1-算法、数据结构、链表

目录1、算法的概念1.1 举例&#xff1a;1.2 算法的五大特性&#xff1a;1.3 时间复杂度1.4 空间复杂度2、数据结构2.1 内存的存储结构2.2 数据结构的分类2.3 顺序表存储方式3、链表3.1链表实现3.2链表的方法3.3链表增加节点3.4链表删除节点3.5链表总结1、算法的概念 算法与数据…

(Java高级教程)第三章Java网络编程-第三节:UDP数据报套接字(DatagramSocket)编程

文章目录一&#xff1a;Java数据报套接字通信模型二&#xff1a;相关API详解&#xff08;1&#xff09;DatagramSocket&#xff08;2&#xff09;DatagramPacket三&#xff1a;UDP通信示例一&#xff1a;客户端发送什么服务端就返回什么&#xff08;1&#xff09;代码&#xff…

k8s之ConfigMap和secret

写在前面 我们知道k8s的数据都是存储到kv数据库etcd中的&#xff0c;那么我们程序中使用到各种配置信息是否可以也存储到etcd&#xff0c;然后在pod中使用呢&#xff1f;是可以的&#xff0c;k8s为了实现将自定义的数据存储到etcd&#xff0c;定义了ConfigMap 和secret两种API…

《后端技术面试 38 讲》学习笔记 Day 01

《后端技术面试 38 讲》学习笔记 Day 01 学习目标 在2022年春节将至&#xff08;半个月&#xff09;&#xff0c;适合在这个冬天里&#xff0c;温故知新。通过学习一门覆盖面较广的课程&#xff0c;来夯实基础&#xff0c;完善自己的知识体系&#xff0c;是一个很棒的选择。 …

LCHub:未来,低代码产品矩阵是500强企业的绝佳选择

近日,国内知名咨询机LCHub发布2022《中国大型企业数字化升级路径研究》。 报告认为由于大型企业的数字化需求旺盛、购买力充足,因此国内成熟的数字化服务商普遍以大型企业为核心客户。大型企业与数字化服务商的供需磨合决定了我国数字化市场的形态,造就了我国数字化市场与海…

go map 源码逐行阅读

map粗略介绍 源码开头注释&#xff1a; A map is just a hash table. The data is arranged into an array of buckets. Each bucket contains up to 8 key/elem pairs. The low-order bits of the hash are used to select a bucket. Each bucket contains a few high-order…

Linux学习笔记——RabbitMQ安装部署

5.4、RabbitMQ安装部署 5.4.1、简介 RabbitMQ是一款知名的开源消息列队系统&#xff0c;为企业提供消息的发布、订阅、点对点传输等消息服务。 RabbitMQ在企业开发中十分常见&#xff0c;课程为大家演示快速搭建RabbitMQ环境。 5.4.2、安装 RabbitMQ在yum仓库中的版本比较老…

用于从单细胞FRET数据中提取灵敏度分布的Matlab代码

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 对于分子生物学来讲&#xff0c;生物分析手段的发展&#xff0c;是阐明机理的必要条件。在研究分子间相互作用的道路上&#xf…