Apache Hive3定位表并更改其位置
Apache Hive3表
- 1、Apache Hive3表概述
- 2、Hive3表存储格式
- 3、Hive3事务表
- 4、Hive3外部表
- 5、定位Hive3表并更改位置
- 6、使用点表示法引用表
- 7、理解CREATE TABLE行为
1、Apache Hive3表概述
Apache Hive3表类型的定义和表类型与ACID属性的关系图使得Hive表变得清晰。表的位置取决于表的类型。您可以根据其支持的存储格式选择表的类型
您可以创建ACID(原子性、一致性、隔离性和持久性)表用于不受限制的事务或仅插入的事务。这些表是Hive托管表。数据与Schema一起位于Hive Metastore中。或者您可以创建一个外部表用于非事务性使用。数据位于Hive Metastore外部。Schema元数据位于Hive Metastore内部。因为外部表受Hive的控制很弱,所以该表不符合ACID
下图描述了Hive表的类型:
以下表格显示了可以使用Hive创建的表的类型、是否支持ACID属性、所需的存储格式以及关键的SQL操作:
表类型 | ACID | 文件格式 | 插入 | 更新/删除 |
---|---|---|---|---|
托管表:CRUD事务 | 支持 | ORC | 支持 | 支持 |
托管表:仅插入式事务 | 支持 | 任意格式 | 支持 | 不支持 |
托管表:临时 | 不支持 | 任意格式 | 支持 | 不支持 |
外部表 | 不支持 | 任意格式 | 支持 | 不支持 |
虽然不能使用UPDATE或DELETE语句删除某些类型的表中的数据,但是可以对任何类型的表使用DROP PARTITION来删除数据
2、Hive3表存储格式
CRUD表中的数据必须为ORC格式。实现支持AcidInputFormat和AcidOutputFormat的存储处理程序等效于指定ORC存储
仅插入使用的表支持所有文件格式
默认情况下,托管表的存储类型为“优化行列”(ORC)。如果在表创建的过程中未指定任何存储,或者指定了ORC存储,则将接受默认的设置,获得具有插入、更新和删除(CRUD)功能的ACID表。如果指定其他任何存储类型,例如TEXT、CSV、AVRO或JSON,则将获得仅插入的ACID表,您不能更新或删除仅插入表中的列
3、Hive3事务表
事务表是驻留在Hive仓库中的ACID表。为了实现ACID合规性,Hive必须管理表,包括对表数据的访问。只有通过Hive才能访问和更改托管表中的数据。由于Hive可以完全控制托管表,因此Hive可以广泛地优化这些表
与用作联机分析处理(OLAP)系统相反,Hive旨在支持相对较低的事务率。您可以使用SHOW TRANSACTIONS命令列出未完成和中止的事务
Hive3中的事务表与非ACID表相当。Hive3事务表中不需要分桶或排序。分桶不会影响性能。这些表与原生的云存储兼容
Hive支持每个事务一个语句,该语句可以包含任意数量的行、分区或表
4、Hive3外部表
外部表数据不是由Hive拥有或控制的。当您想使用Hive以外的其他工具直接在文件级别访问数据时,通常使用外部表。您还可以使用存储处理程序(例如Druid或HBase)来创建位于Hive元存储之外的表
在外部表上,Hive3不支持以下功能:
- 查询缓存
- 物化视图(仅限于有限的方式)
- 自动运行时过滤
- 插入后的文件合并
- ARCHIVE、UNARCHIVE、TRUNCATE、MERGE和CONCATENATE。这些语句仅适用于Hive管理表
在外部表上运行DROP TABLE时,默认情况下,Hive仅删除元数据(Schema)。如果您希望DROP TABLE命令也删除外部表中的实际数据,就像DROP TABLE在托管表上所做的那样,则需要将external.table.purge
属性设置为true
5、定位Hive3表并更改位置
您需要知道Hive在HDFS上存储表的位置以及安装服务后如何更改仓库位置
您在CDP中创建的新表存储在托管表的Hive仓库或外部表的Hive仓库中。以下默认仓库位置位于HDFS文件系统中:
/warehouse/tablespace/managed/hive
/warehouse/tablespace/external/hive
托管表驻留在托管表空间中,只有Hive可以访问。默认情况下,Hive假定外部表驻留在外部表空间中
要确定托管或外部表类型,您可以运行如下命令:
DESCRIBE EXTENDED table_name;
要访问对象存储或文件系统(如HDFS)中的外部表,需要设置Ranger策略
更改Hive仓库位置的功能旨在在安装服务后立即使用。您可以使用Cloudera Manager中的Hive Metastore Action菜单更改仓库的位置,步骤如下:
1) 在Cloudera Manager中,单击集群->Hive->操作菜单->创建Hive仓库目录
2) 在Cloudera Manager中,单击Clusters->Hive(Hive Metastore服务)->Configuration,并将hive.metastore.warehouse.dir
属性值更改为新Hive仓库目录的路径
3) 单击Hive->Hive->操作菜单->创建Hive仓库外部目录
4) 将hive.metastore.warehouse.external.dir
属性值更改为Hive仓库外部目录的路径
5) 配置Ranger Hadoop SQL策略,访问对象存储(如S3、Ozone)或文件系统(如HDFS)上的目录URL
6、使用点表示法引用表
Hive3.1使用点表示法对表引用的更改可能需要对Hive脚本进行更改
CDP中的Hive3.1包括SQL兼容性 (Hive-16907),它拒绝db.table
SQL查询。表名中不允许使用.
点。要在表名中引用数据库和表,请将两者括在反引号中,如下所示:
`db`.`table`
7、理解CREATE TABLE行为
Hive表的创建自Hive3以来发生了重大变化,以提高可用性和功能。如果要从CDH或HDP升级,则必须了解影响遗留表创建行为的更改
Hive通过以下方式改变了表的创建:
- 创建ACID兼容的表,这是CDP中的默认值
- 支持简单的写入和插入
- 写入多个分区
- 在单个SELECT语句中插入多个数据更新
- 消除了对桶的需要
如果你有一个ETL管道在Hive中创建表,那么这些表将被创建为ACID。Hive现在严格控制访问,并定期对表执行压缩。使用兼容ACID的事务表不会导致性能或操作过载。从Spark和其他客户端访问托管Hive表的方式发生了变化。在CDP中,访问外部表需要设置安全访问权限
您必须了解传统平台(如CDH或HDP)中CREATE TABLE语句的行为,以及升级到CDP(Cloudera Data Platform)后这些行为的变化
-
在升级到CDP之前
- 在CDH5、CDH6和HDP2中,默认情况下,CREATE TABLE以纯文本格式创建一个非ACID管理的表
- 在HDP3和CDP 7.1.0到7.1.7,默认情况下,CREATE TABLE可以创建ORC格式的完整ACID事务表,也可以为所有其他表格式创建仅插入的ACID事务表
-
升级到CDP后
- 如果您从HDP2、CDH5或CDH6升级到CDP 7.1.0-7.1.8,默认情况下CREATE TABLE创建ORC格式的完整ACID事务表,或者为所有其他表格式创建仅插入的ACID事务表
- 如果您正在从HDP3或CDP 7.1.0升级到7.1.7-7.1.8,现有的行为仍然存在,CREATE TABLE创建ORC格式的完整ACID事务表,或者为所有其他表格式创建仅插入的ACID事务表
既然已经理解了CREATE TABLE语句的行为,就可以通过配置某些属性来选择修改默认的表行为。配置的优先顺序如下(修改默认的CREATE TABLE行为):
1)创建表时覆盖默认行为
无论数据库、会话或站点级别的设置如何,您都可以通过在CREATE table语句中使用MANAGED或EXTERNAL关键字来覆盖默认的表行为
CREATE [MANAGED][EXTERNAL] TABLE foo (id INT);
2)在数据库级别设置默认表类型
您可以使用数据库属性defaultTableType=EXTERNAL
或ACID来指定要使用CREATE table语句创建的默认表类型。可以在创建数据库时指定该属性,也可以在稍后使用ALTER DATABASE语句指定该属性。例如:
CREATE DATABASE test_db WITH DBPROPERTIES ('defaultTableType'='EXTERNAL');
在本例中,使用CREATE TABLE语句在test_db
数据库下创建的表将创建启用了清除功能的外部表(external.table.purge = 'true'
)
您还可以选择将数据库配置为只允许创建外部表,而不允许创建ACID表。在创建数据库时,您可以设置数据库属性EXTERNAL_TABLES_ONLY=true,以确保仅在数据库中创建外部表。例如:
CREATE DATABASE test_db WITH DBPROPERTIES ('EXTERNAL_TABLES_ONLY'='true');
3)在会话级别设置默认的表类型
通过将hive.create.as.external.legacy设置为true或false,可以在现有的直线会话中配置CREATE TABLE行为。将该值设置为true将导致CREATE TABLE语句默认创建外部表。
当会话结束时,默认的CREATE TABLE行为也会结束。
4)在站点级别设置默认表类型
通过在Hive配置下的Cloudera Manager中配置Hive . CREATE .as.insert.only和Hive . CREATE .as.acid属性,可以在站点级配置CREATE TABLE行为。在站点级别配置时,该行为在会话之间持续存在。有关更多信息,请参见配置CREATE TABLE行为。
如果您是Spark用户,那么切换到遗留行为是不必要的。例如,在SparkSQL中调用“create table”,会在升级到Cloudera数据平台后创建一个外部表,就像升级之前一样。您可以使用Hive Warehouse Connector (HWC)连接Hive,从Spark读取Hive ACID表。要从Spark向Hive写入ACID表,可以使用HWC和HWC API。当你不使用HWC API时,Spark会创建一个带有purge属性的外部表。更多信息请参见Hive Warehouse Connector访问Spark数据
官方文档:https://docs.cloudera.com/cdp-private-cloud-base/latest/using-hiveql/topics/cdp-data-migration-table-create.html
未完待续…
参考文章:https://developer.aliyun.com/article/786518
相关文章:
Apache Hive3定位表并更改其位置
Apache Hive3表 1、Apache Hive3表概述2、Hive3表存储格式3、Hive3事务表4、Hive3外部表5、定位Hive3表并更改位置6、使用点表示法引用表7、理解CREATE TABLE行为 1、Apache Hive3表概述 Apache Hive3表类型的定义和表类型与ACID属性的关系图使得Hive表变得清晰。表的位置取决于…...
Flutter项目和鸿蒙平台的通信
Flutter项目和鸿蒙平台的通信 前言Flutter和Harmonyos通信MethodChannelBasicMessageChannelEventChannel 前言 大家在使用Flutter开发项目的时候, Flutter提供了Platfrom Channel API来和个个平台进行交互。 Flutter官方目前提供了一下三种方式来和个个平台交互&…...
5. 马科维茨资产组合模型+政策意图AI金融智能体(Qwen-Max)增强方案(理论+Python实战)
目录 0. 承前1. AI金融智能体1.1 What is AI金融智能体1.2 Why is AI金融智能体1.3 How to AI金融智能体 2. 数据要素&计算流程2.1 参数集设置2.2 数据获取&预处理2.3 收益率计算2.4 因子构建与预期收益率计算2.5 协方差矩阵计算2.6 投资组合优化2.7 持仓筛选2.8 AI金融…...
嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础
嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础 目录 1.NAND FLASH 和NOR FLASH异同 ? 2.CPU,MPU,MCU,SOC,SOPC联系与差别? 3.什么是交叉编译? 4.为什么要交叉编译? 5.描述一下嵌入式基于ROM的运行方式和基于RAM的运行方式有什么区别? 1…...
thinkphp8在使用apidoc时, 4层的接口会有问题 解决办法
thinkphp8 4层的接口会有问题, 比如这样的接口 /adminapi/notice/announcements/lists, 应该换成 /adminapi/notice.announcements/lists 这样才行, 有没有人处理过? 实际上在官网的帮助里有描述 自动生成的url不对? | Apidoc // config/apidoc.php //... auto_url…...
【jmeter】下载及使用教程【mac】
1.安装java 打开 Java 官方下载网站https://www.oracle.com/java/technologies/downloads/选择您想要下载的 Java 版本,下载以 .dmg 结尾的安装包,注意 JMeter 需要 Java 8下载后打开安装包点击“安装”按钮即可 2.下载jmeter 打开 Apache JMeter 官方…...
C# ASP.NET MVC项目内使用ApiController
1.在App_Start文件夹新建WebApiConfig.cs文件,建立webApi路由的注册方法。 using System.Web.Http;namespace PrivilegeManager {public class WebApiConfig{public static void Register(HttpConfiguration config){config.MapHttpAttributeRoutes();config.Route…...
Langchain+FastApi+Vue前后端Ai对话(超详细)
一、引入 首先可以先看下作者的文章 FastApi相关文章:创建最简单FastApi的项目Vue相关文章:最简单的aixos二次封装Langchain相关文章:如何使用LangSmith跟踪deepseek模型 二、后端搭建 1 项目文件结构 routers:存放api接口se…...
【电脑无法通过鼠标和键盘唤醒应该怎么办】
【电脑无法通过鼠标和键盘唤醒应该怎么办】 方法一(有时候不起作用):方法二(方法一无效时,使用方法二): 方法一(有时候不起作用): 方法二(方法一无效时,使用方法二):...
OpenCV相机标定与3D重建(65)对图像点进行去畸变处理函数undistortPoints()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 从观测到的点坐标计算理想点坐标。 该函数类似于 undistort 和 initUndistortRectifyMap,但它操作的是稀疏点集而不是光栅图像。此外…...
Logo语言的函数实现
Logo语言的函数实现 引言 Logo语言是一种教育性编程语言,最初由西摩尔派普特(Seymour Papert)在1960年代开发。它以“海龟图形”(Turtle Graphics)而闻名,通过简单的命令控制一只“海龟”在屏幕上绘制图形…...
前沿技术对比:大模型技术为什么发展远快于区块链技术,中英对照解释
文章目录 前言1、技术复杂性与成熟度 / Technical Complexity and Maturity2.、应用场景与行业需求 / Application Scenarios and Industry Demand3、监管与法律问题 / Regulatory and Legal Issues4、去中心化与网络效应 / Decentralization and Network Effects5、能源消耗与…...
Java设计模式 九 桥接模式 (Bridge Pattern)
桥接模式 (Bridge Pattern) 桥接模式是一种结构型设计模式,它的核心思想是将抽象部分与实现部分分离,使它们可以独立变化。这种模式通过组合而不是继承的方式来扩展功能,从而减少类之间的耦合度。 1. 模式结构 桥接模式的结构包括以下角色&…...
stm8s单片机(二)外部中断实验
中断优先级 stm8的中断优先级不是固定不变的,stm8的中断分为硬件优先级与软件优先级;当多个中断发生时,cpu会先响应软件优先级高的中断,若软件优先级相同会先响应硬件优先级高的; 其中软件优先级有四个 /*** brief …...
计算机网络 (53)互联网使用的安全协议
一、SSL/TLS协议 概述: SSL(Secure Sockets Layer)安全套接层和TLS(Transport Layer Security)传输层安全协议是工作在OSI模型应用层的安全协议。SSL由Netscape于1994年开发,广泛应用于基于万维网的各种网络…...
数学基础 --线性代数之理解矩阵乘法
理解矩阵乘法的解析 矩阵乘法(Matrix Multiplication)是线性代数中的核心操作之一。在数学、几何和工程实际中,它不仅是一种代数运算规则,还承载着丰富的几何和映射意义。本文将从多个角度深入解析矩阵乘法,帮助读者理…...
数学规划问题2 .有代码(非线性规划模型,最大最小化模型,多目标规划模型)
非线性规划模型 FIrst:转化为标准型 在matlab中求非线性规划的函数 练习题: 典型例题: 最大最小化模型 核心思想: matlab的模型求解 经典例题: 多目标规划模型 基本概念 求解思路: 模型构建步骤 经典例题: 非线性规划模型 非线性规划(Nonl…...
jax 和 jaxlib 的 cuda 版本安装
笔者花费时间才在 Ubuntu 20.04 适配上 jax 和 jaxlib 的 cuda 版本安装,以及 chex 版本。 版本展示 本人版本展示 jax0.4.27 ,jaxlib0.4.27cuda12.cudnn89,chex0.1.86。 安装过程 cuda 以及环境变量配置过程 首先安装cuda12.4和cudnn8.9&…...
Spring Boot MyBatis Plus 版本兼容问题(记录)
Spring Boot & MyBatis Plus 版本兼容问题(Invalid value type for attribute factoryBeanObjectType: java.lang.String) 问题描述问题排查1. 检查 MapperScan 的路径2. 项目中没有配置 FactoryBean3. 检查 Spring 和 MyBatis Plus 版本兼容性 解决…...
Ubuntu如何安装redis服务?
环境: Ubuntu22.04 WSL2 问题描述: 如何安装redis服务? 解决方案: 1.在 Linux 上(如 Ubuntu/Debian)安装 1.通过包管理工具安装 Redis 服务器: sudo apt update sudo apt install redis…...
FFmpeg 头文件完美翻译之 libavcodec 模块
前言 众所周知,FFmpeg 的代码开发上手难度较高,源于官方提供的文档很少有包含代码教程相关的。要想熟练掌握 FFmpeg 的代码库开发,需要借助它的头文件,FFmpeg 把很多代码库教程都写在头文件里面。因此,熟读头文件的内…...
设计模式的艺术-单一职责原则
1.基础知识 是最简单的面向对象设计原则,它用于控制类的粒度大小。 一个类只负责一个功能领域中的相应职责。 单一职责原则的核心思想是:一个类不能太“累”!在软件系统中,一个类(大到模块,小到方法&…...
MySQL主从配置
一、 主从原理 MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。 二、主…...
【Unity3D实现雨下在窗户上的效果】
系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、效果展示👉二、原理👉三、使用步骤3-1、shader代码纹理映射数学运算和函数的运用特效算法的实现高效的性能优化👉壁纸分享👉总结👉前言 想要好看的效果肯定是要用shader实现啦,为什么呢? 因为Shade…...
k8s资源预留
k8s资源预留 https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/reserve-compute-resources/ vim /var/lib/kubelet/config.yamlenforceNodeAllocatable: - pods kubeReserved: # 配置 kube 资源预留cpu: 500mmemory: 1Giephemeral-storage: 1Gi systemReserved: #…...
云计算与物联网技术的融合应用(在工业、农业、家居、医疗、环境、城市等整理较全)
摘要 为生产领域带来更加全面和深入的变革。通过云计算平台对物联网数据进行处理和分析,企业可以实现对生产过程的更加精细化的管理和控制。 1. 智能生产调度 通过云计算和物联网技术的融合应用,企业可以实现对生产线上各个环节的实时监控和数据分析。…...
【深度学习】2.视觉问题与得分函数
计算机视觉任务 可以通过神经网络搜索是什么类别的动物。 图像实际就是含有数值的三维矩阵。 像素值从0-255可以表示亮度递增的参数。数字越大,像素点越亮。 最后的3表示三个颜色通道,常见的如JPG、RGB等。 现实场景容易发生各种遮蔽现象。 计算机判断…...
Node.js——express中间件(全局中间件、路由中间件、静态资源中间件)
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...
安卓动态设置Unity图形API
命令行方式 Unity图像api设置为自动,安卓动态设置Vulkan、OpenGLES Unity设置 安卓设置 创建自定义活动并将其设置为应用程序入口点。 在自定义活动中,覆盖字符串UnityPlayerActivity。updateunitycommandlineararguments (String cmdLine)方法。 在该方法中,将cmdLine…...
VMware虚拟机迁移到阿里云
VMware虚拟机迁移到阿里云是一个涉及多个步骤的过程,具体如下: 使用阿里云的服务器迁移中心(SMC)进行P2V或V2V迁移。如果是小型应用,可以通过制作镜像文件然后上传至阿里云OSS,并基于该镜像创建ECS实例。对…...
2025年1月22日(什么是扫频)
扫频(Sweep Frequency)是一种信号处理技术,通常用于系统识别、频率响应分析和特性测试。它通过发送一个频率逐渐变化的信号(通常是正弦波或线性调频信号)来激励系统,然后测量系统的响应。这种方法可以帮助我…...
前端开发中的模拟后端与MVVM架构实践[特殊字符][特殊字符][特殊字符]
平时,后端可能不能及时给接口给前端进行数据调用和读取。这时候,前端想到进行模拟后端接口。本文将介绍如何通过vite-plugin-mock插件模拟后端接口,并探讨MVVM架构在前端开发中的应用。此外,我们还将讨论Vue2与Vue3的区别…...
Win10系统部署RabbitMQ Server
文章目录 版本说明依赖安装添加Erlang环境变量验证Erlang安装 RabbitMQ Server安装解压启动查看RabbitMQ插件安装rabbitmq_management插件再次启动设置RabbitMQ为系统服务 版本说明 ErlangRabbitMQ27.24.0.5 可以在Erlang官网和RabbitMQ官网下载安装包,安装已下载…...
Java web与Java中的Servlet
一。前言 Java语言大多用于开发web系统的后端,也就是我们是的B/S架构。通过浏览器一个URL去访问系统的后端资源和逻辑。 当我在代码里看到这个类HttpServletRequest 时 让我想到了Servlet,Servlet看上去多么像是Java的一个普通类,但是它确实…...
Web开发 -前端部分-CSS3新特性
1 CSS概述 2 CSS3私有前缀 3 CSS3的长度单位 代码实现: <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…...
2025年PHP面试宝典,技术总结。
面试是进入职场的第一道坎,因为我本身学校太一般的问题在面试中遇到了各种不爽,和那些高学历的相比自己真是信心大跌。我面试的方向是php开发工程师,主要做网站后台、APP接口等。下面是我这段时间总结的面试方面的常考常问的知识点࿰…...
idea plugin插件开发——入门级教程(IntelliJ IDEA Plugin)
手打不易,如果转摘,请注明出处! 注明原文:idea plugin插件开发——入门级教程(IntelliJ IDEA Plugin)-CSDN博客 目录 前言 官方 官方文档 代码示例 开发前必读 Intellij、Gradle、JDK 版本关系 plu…...
node.js 文件操作
在 Node.js 中,文件操作主要通过内置的 fs(File System)模块来实现。 1. 读取文件 const fs require("fs");// 异步读取文件fs.readFile("example.txt", "utf8", (err, data) > {if (err) {console.erro…...
模拟算法习题篇
在算法中,模拟是一种通过计算机程序来模拟现实世界中的过程或系统行为的方法。它的核心思想是根据题目给定的规则和逻辑,按照步骤细致地重现事件的发展流程,从而获得最终结果。 解题时如何使用模拟算法: 理解题目规则:…...
opencv对直方图的计算和绘制
【欢迎关注编码小哥,学习更多实用的编程方法和技巧】 1、直方图的计算 cv::calcHist 是 OpenCV 中用于计算图像直方图的函数。它可以处理多通道图像,并通过指定图像、通道、掩膜、直方图大小和范围等参数来生成直方图。 函数原型 void cv::calcHist(…...
暑期实习准备:C语言(持续更新)
1.局部变量和全局变量 局部变量的作用域是在变量所在的局部范围,全局变量的作用域是整个工程;局部变量的生命周期是作用域内,全局变量的生命周期是整个程序的生命周期,当两者命名冲突时,优先使用的是局部变量。 2.C语言…...
一文大白话讲清楚webpack基本使用——11——chunkIds和runtimeChunk
文章目录 一文大白话讲清楚webpack基本使用——11——chunkIds和runtimeChunk1. 建议按文章顺序从头看,一看到底,豁然开朗2. 啥是chunkIds3.怎么使用chunkIds4. 啥是runtimeChunk5. 怎么使用runtimeChunk 一文大白话讲清楚webpack基本使用——11——chun…...
linux下使用脚本实现对进程的内存占用自动化监测
linux系统中常用cat /proc/{pid}/status和pmap -x {pid}来监测某个进程的内存资源占用情况。 其中注意各参数的含义如下: VmSize:表示进程当前虚拟内存大小 VmPeak:表示进程所占用最大虚拟内存大小 VmRSS:表示进程当前占用物理内…...
MyBatis Plus 的 InnerInterceptor:更轻量级的 SQL 拦截器
在 Spring Boot 项目中使用 MyBatis Plus 时,你可能会遇到 InnerInterceptor 这个概念。 InnerInterceptor 是 MyBatis Plus 提供的一种轻量级 SQL 拦截器,它与传统的 MyBatis 拦截器(Interceptor)有所不同,具有更简单…...
[STM32 HAL库]串口中断编程思路
一、前言 最近在准备蓝桥杯比赛(嵌入式赛道),研究了以下串口空闲中断DMA接收不定长的数据,感觉这个方法的接收效率很高,十分好用。方法配置都成功了,但是有一个点需要进行考虑,就是一般我们需要…...
会议签到系统的架构和实现
会议签到系统的架构和实现 摘要:通过定制安卓会议机开机APP呈现签到界面,并且通过W/B结构采集管理签到信息,实现会议签到的功能。为达到此目标本文将探讨使用Redis提供后台数据支持;使用SocketIo处理适时消息;使用Flask进行原型开…...
复位信号的同步与释放(同步复位、异步复位、异步复位同步释放)
文章目录 背景前言一、复位信号的同步与释放1.1 同步复位1.1.1 综述1.1.2 优缺点 1.2 recovery time和removal time1.3 异步复位1.3.1 综述1.3.2 优缺点 1.4 同步复位 与 异步复位1.5 异步复位、同步释放1.5.1 总述1.5.2 机理1.5.3 复位网络 二、思考与补充2.1 复…...
TL3562/3568移植无锡沐创N500L-AM4驱动进内核源码,报错及其解决方案
前言 创龙官方提供的资料无锡沐创N500L-AM4驱动是rnpgbe-0.1.0.rc60-dd9f3cf.tar.gz;无锡沐创官方,截止目前,最新驱动是rnpgbe-0.2.3-f26b9a4.tar.gz。考虑到开发的稳妥性,先选用创龙尝试过的rnpgbe-0.1.0.rc60-dd9f3cf.tar.gz来移…...
埃氏算法C++实现: 快速输出质数( 素数 )
目录 1.简介 算法原理 算法特点 应用场景 2.一般求素数方法 3.埃氏算法求素数 3.1.无动态分配 3.2.有动态分配 1.简介 埃氏算法(Eratosthenes Sieve),全称为埃拉托斯特尼筛法,是一种由古希腊数学家埃拉托斯特尼在公元…...
Kubernetes 集群中安装和配置 Kubernetes Dashboard
前言 上篇成功部署Kubernetes集群后,为了方便管理和监控集群资源,安装Kubernetes Dashboard显得尤为重要。Kubernetes Dashboard 是一个通用的、基于 Web 的 UI,旨在让用户轻松地部署容器化应用到 Kubernetes 集群,并对这些应用进…...