Apache Doris 2.1.6 版本正式发布
亲爱的社区小伙伴们,Apache Doris 2.1.6 版本已于 2024 年 9 月 10 日正式发布。2.1.6 版本在 Lakehouse、异步物化视图、半结构化数据管理持续升级改进,同时在查询优化器、执行引擎、存储管理、数据导入与导出以及权限管理等方面完成了若干修复。欢迎大家下载使用。
-
官网下载:https://doris.apache.org/
-
GitHub 下载:Release Apache Doris 2.1.6 Release · apache/doris · GitHub
行为变更
-
移除
create repository
命令中的delete_if_exists
选项。#38192 -
新增会话变量
enable_prepared_stmt_audit_log
,用于控制 JDBC 预编译语句是否记录审计日志,默认不记录。#38624 #39009 -
采用文件描述符限制和内存限制来管理 Segment Cache。#39689
-
当
sys_log_mode
配置项设置为BRIEF
时,在日志中增加文件位置信息,以提供更详细的上下文。#39571 -
将会话变量
max_allowed_packet
的默认值调整为 16MB,提高数据传输限制。#38697 -
在单次请求中,若包含多个 SQL 语句,各语句间必须使用分号进行分隔,以增强语句的清晰度和执行效率。#38670
-
现在支持 SQL 语句以分号开始,提供更灵活的语句书写方式。#39399
-
在执行如
show create table
等语句时,类型格式与 MySQL 保持一致,提升与 MySQL 的兼容性。#38012 -
当新优化器规划查询超时后,不再回退到旧优化器,以避免潜在的性能下降问题。#39499
新功能
Lakehouse
-
实现 Iceberg 表的写回功能。
-
更多信息,请查看文档数据湖构建-Iceberg
-
-
增强 SQL 拦截规则,支持对外表的拦截处理。
-
更多信息,请查看文档查询管理-SQL 拦截
-
-
新增系统表
file_cache_statistics
,用于查看 BE 节点的数据缓存性能指标。-
更多信息,请查看文档系统表-file_cache_statistics
-
异步物化视图
-
支持在 Insert 中进行透明改写。#38115
-
支持对查询中存在 VARIANT 类型时的透明改写。#37929
半结构化数据管理
-
支持 ARRAY MAP 类型到 JSON 类型的 CAST 转换功能。#36548
-
引入
json_keys
函数,用于提取 JSON 中的键名。#36411 -
支持在导入 JSON 时指定
json path
$``#38213 -
ARRAY / MAP / STRUCT 类型支持
replace_if_not_null
#38304 -
允许调整 ARRAY / MAP / STRUCT 类型的列顺序。#39210
-
新增
multi_match
函数,支持在多个字段中匹配关键词,并利用倒排索引加速查询。#37722
查询优化器
-
完善 MySQL 协议返回列的信息,包括原始数据库名、表名、列名和别名。#38126
-
增强聚合函数
group_concat
,支持同时使用order by
和distinct
进行复杂数据聚合。#38080 -
改进了 SQL 缓存机制,支持通过注释区分不同的查询以复用缓存结果。#40049
-
增强分区裁剪功能,支持在过滤条件中使用
date_trunc
和date
函数。#38025 #38743 -
允许在表别名前使用数据库名作为限定名前缀。#38640
-
支持 Hint 格式注释。#39113
执行引擎
-
Group concat
函数现支持distinct
和order by
选项。#38744
Others
-
新增系统表
table_properties
,便于用户查看和管理表的各项属性。-
更多信息,请查看文档 table_properties
-
-
新增 FE 中死锁和慢锁检测功能。
-
更多信息,请查看文档 FE 锁管理
-
改进提升
Lakehouse
-
革新外表元数据缓存机制。
-
更多信息,请查看文档 元数据缓存。
-
-
新增会话变量
keep_carriage_return
,默认关闭。读取 Hive Text 格式表时,默认将\r\n
与\n
均视为换行符。#38099 -
优化 Parquet / ORC 文件读写内存统计。#37257
-
Paimon 表支持 IN/ NOT IN 谓词下推。#38390
-
升级优化器,支持 Hudi 表的 Time Travel 语法。#38591
-
Kerberos 认证流程优化,提升安全认证效率与稳定性。#37301
-
支持 Rename column 操作后读取 Hive 表。#38809
-
提升外表分区列读取性能。#38810
-
优化外表查询规划,优化数据分片合并策略,有效避免小分片对查询性能的影响。#38964
-
SHOW CREATE DATABASE / TABLE 新增 Location 等属性展示。#39644
-
MaxCompute Catalog 扩展支持复杂类型。#39822
-
优化文件缓存加载策略,通过异步加载方式避免 BE 启动时间过长的问题。#39036
-
升级文件缓存淘汰策略,有效管理长时间占用锁的资源。#39721
异步物化视图
-
支持小时、周及季度级别的分区上卷构建。#37678
-
基于 Hive 外表的物化视图,在刷新前自动更新元数据缓存,以保证每次刷新可以获取最新数据。#38212
-
通过批量获取元数据,优化存算分离模式下的透明改写规划性能。#39301
-
通过禁止重复枚举,进一步提升透明改写的规划性能。#39541
-
优化基于 Hive 外表分区刷新物化视图的透明改写性能。#38525
半结构化数据管理
-
优化 TOPN 查询内存分配,显著提升查询性能。#37429
-
优化倒排索引字符串处理性能。#37395
-
优化倒排索引在 MOW 表中的性能。#37428
-
建表时支持指定行存
page_size
,以控制压缩效果。#37145
查询优化器
-
调整 Mark Join 行数估计算法,提高基数估算准确性。#38270
-
优化 Semi / Anti Join 代价估计算法,能够正确选择最佳 Join 顺序。#37951
-
调整部分列无统计信息情况下的过滤估计算法,使估算更精准。#39592
-
改进 Set Operation 算子 Instance 计算逻辑,防止在极端情况下并行度不足的问题。#39999
-
优化 Bucket Shuffle 使用策略,数据打散不充分时也能获得更好的性能。#36784
-
窗口函数数据提前过滤,支持单投影中存在多窗口函数的情况。#38393
-
过滤条件含
NullLiteral
时,智能折叠为 False,转换为EmptySet
,减少不必要的数据扫描量。#38135 -
扩大谓词推导适用范围,在特定模式的查询下能够大幅减少数据扫描量。#37314
-
在分区裁剪中支持部分短路计算逻辑,以提升分区裁剪性能。在特定场景下,性能提升超过100%。#38191
-
在用户变量中,支持计算任意的标量函数。#39144
-
当查询中存在别名冲突时,报错信息能够保持与 MySQL 一致。#38104
执行引擎
-
实现 AggState 从 2.1 到 3.x 版本的兼容,并解决了 coredump 问题。#37104
-
重构无 Join 操作时的 Local Shuffle 策略选择机制。#37282
-
将内部表查询的 scanner 调整为异步模式,以防止查询内部表时出现卡顿。#38403
-
优化 Join 算子在构建 Hash 表时的 Block Merge 流程。#37471
-
缩短 MultiCast 持有锁的时间。#37462
-
优化 gRPC 的 keepAliveTime 设置并增加了链接监测机制,降低了因 RPC 错误导致的查询失败率。#37304
-
当内存超出限制时,将清理
jemalloc
中的所有 Dirty Pages。#37164 -
提升
aes_encrypt
/decrypt
函数对常量类型的处理效率。#37194 -
加快
json_extract
函数对常量数据的处理速度。#36927 -
提高
ParseUrl
函数处理常量数据的性能。#36882
存储管理
备份恢复 / 跨集群同步
-
Restore 功能现已支持删除多余的 Tablet 和分区选项。#39363
-
在创建 Repository 时,支持检查存储连通性。#39538
-
Binlog 支持 Drop 表操作,使 CCR 能够支持 Drop 表的增量同步。#38541
Compaction
-
改进高优 Compaction 任务不受并发控制限制的问题。#38189
-
根据数据特性自动调整 Compaction 的内存消耗。#37486
-
修复顺序数据优化策略可能引发的聚合表或 MOR UNIQUE 表数据准确性问题。#38299
-
优化补副本期间 Compaction 选择 rowset 的策略,以避免触发 -235 错误。#39262
Merge-on-Write
-
解决了列更新和 Compaction 并发时列更新慢的问题。#38682
-
修复一次导入大量数据时,Segcompaction 可能导致 MOW 数据不正确的问题。#38992 #39707
-
解决 BE 重启后,可能导致列更新数据丢失的问题。#39035
其他
-
增加了 FE 配置,用于控制冷热分层下查询是否优先访问本地数据的副本。#38322
-
解决了过期的 BE 汇报消息未包含新创建 Tablet 的问题。#38839 #39605
-
优化副本调度优先级策略,优先调度缺少数据的副本。#38884
-
对于有未完成 ALTER JOB 的 Tablet,不进行均衡调度。#39202
-
List 分区方式的表现支持修改分桶数。#39688
-
优先选择在线的磁盘服务进行查询。#39654
-
改进了同步物化视图的 Base 表不支持删除时的提示信息。#39857
-
改进了单列超过 4G 时的报错信息。#39897
-
修复了 Insert 语句遇到 Plan 错误时未正确中止事务的问题。#38260
-
修复了 SSL 链接关闭时的异常问题。#38677
-
修复了使用 Label 中止事务时未持有表锁的问题。#38842
-
修复了 Gson Pretty 导致 Image 过大的问题。#39135
-
修复了 CREAT TABLE 语句在新优化器下未检查 Bucket 为 0 的问题。#38999
-
修复了 DELETE 条件谓词中包含中文列时报错的问题。#39500
-
修复了分区均衡模式下频繁均衡 Tablet 的问题。#39606
-
修复了分区丢失 Storage Policy 属性的问题。#39677
-
修复了事务内导入多个表时统计信息不正确的问题。#39548
-
修复了 Random 分桶表删除时报错的问题。#39830
-
修复了 UDF 不存在导致 FE 无法启动的问题。#39868
-
修复了 FE 主从 Last Failed Version 不一致的问题。#39947
-
修复了 Schema Change Job 被取消时,相关 Tablet 可能仍处于 Schema Change 状态的问题。#39327
-
修复了单个语句修改类型和列顺序 SC 时出现的报错问题。#39107
数据导入
-
改进了导入发生 -238 错误时的错误信息提示。#39182
-
实现在 Restore 分区时,其他分区可以同时进行导入。#39915
-
优化了 Group Commit FE 选择 BE 的策略。#37830 #39010
-
对于一些常见的 Stream Load 错误信息,避免了程序栈的打印,简化了错误处理。#38418
-
改进下线的 BE 可能影响导入出错的问题。#38256
权限管理
-
优化了开启 Ranger 鉴权插件后的访问性能。#38575
-
优化了 Refresh Catalog / Database / Table 操作的权限策略,用户仅需 SHOW 权限即可执行此操作。#39008
Bug 修复
Lakehouse
-
修复切换 Catalog 时可能出现的数据库找不到问题。#38114
-
解决了读取 S3 上不存在的数据时出现的异常报错。#38253
-
修正导出操作时,指定异常路径可能导致导出位置异常的问题。#38602
-
修复 Paimon 表时间列时区问题。#37716
-
临时关闭 Parquet PageIndex 功能以避免部分错误行为。
-
修复外表查询时,错误选取黑名单中 Backend 节点的问题。#38984
-
解决读取 Parquet Struct 列类型中缺失子列导致查询错误的问题。#39192
-
修复 JDBC Catalog 的谓词下推问题。#39082
-
修正 Parquet 格式读取时,历史格式导致查询结果错误的问题。#39375
-
增强了 Oracle JDBC Catalog 对 OJDBC6 驱动的兼容性。#39408
-
解决了 Refresh Catalog/Database/Table 操作可能导致的 FE 内存泄漏问题。#39186 #39871
-
修复了 JDBC Catalog 在某些情况下的线程泄漏问题。 #39666 #39582
-
修复开启 Hive Metastore 事件订阅后,可能出现事件处理失败的问题。#39239
-
禁止读取自定义 Escape CHAR 和 NULL Format 的 Hive Text 格式表,防止数据错误。#39869
-
修复某些情况下,无法访问通过 Iceberg API 创建的 Iceberg 表的问题。#39203
-
修复无法读取存储在开启高可用的 HDFS 集群上的 Paimon 表的问题。#39876
-
修复开启文件缓存后,读取 Paimon 表 Deletion Vector 可能导致错误的问题。#39875
-
修复某些情况下读取 Parquet 可能导致死锁的问题 #39945
异步物化视图
-
修复无法在 Follower FE 上使用
show create materialized view
命令的问题。#38794 -
统一异步物化视图在元数据中的对象类型,使其在数据工具中正常显示。#38797
-
修复嵌套异步物化视图总是进行全量刷新的问题。#38698
-
修正 Cancel 任务在重启 FE 后状态可能显示为 running 的问题。 #39424
-
修复错误使用上下文,导致刷新物化视图任务可能非预期失败的问题。#39690
-
修复基于外表创建异步物化视图时,VARCHAR 类型因长度不合理导致写入失败的问题。#37668
-
修复 FE 重启或 Catalog 重建后,基于外表的异步物化视图可能失效的问题。#39355
-
禁止 List 分区的物化视图使用分区上卷,以防止生成错误数据。#38124
-
修复在聚合上卷透明改写时,SELECT List 中存在字面量导致的结果错误问题。#38958
-
修复当查询中存在形如
a = a
的过滤条件时,透明改写可能出错的问题。#39629 -
修复透明改写直查外表无法成功的问题。#39041
半结构化数据管理
-
删除老优化器上
PreparedStatement
的支持。#39465 -
修复 JSON 转义字符处理的问题。#37251
-
修复 JSON 字段重复处理的问题。 #38490
-
修复部分 ARRAY MAP 函数的问题。#39307 #39699 #39757
-
修复倒排索引查询和 LIKE 查询复杂组合的问题。#36687
查询优化器
-
修复分区过滤条件中存在
or
时,可能导致分区裁剪错误的问题。#38897 -
修复存在复杂表达式时,可能导致的分区裁剪错误的问题。#39298
-
修复 AGG_STATE 类型中的子类型,Nullable 可能规划不正确导致执行报错的问题。#37489
-
修复 Set Operation 算子 Nullable 可能规划不正确,导致执行报错的问题。#39109
-
修复 Intersect 算子执行优先级不正确的问题。 #39095
-
修复当查询中存在最大合法日期字面量时,可能出现 NPE 的问题。#39482
-
修复偶现的规划报错,导致的执行时报错 Slot 不合法的问题。#39640
-
修复重复引用 CTE 中的列,可能导致结果缺少部分列数据的问题。#39850
-
修复在查询中存在 CASE WHEN 时,偶现的规划报错问题。#38491
-
修复不能将 IP 类型隐式转换为 STRING 类型的问题。#39318
-
修复在使用多维聚合时,当 SELECT List 中存在相同列和其别名时,可能出现的规划报错问题。#38166
-
修复使用 BE 常量折叠时,处理 BOOLEAN 类型可能不正确的问题。#39019
-
修复在表达式中存在
default_cluster:
作为 Database 名称前缀导致的规划报错问题。#39114 -
修复 Insert Into 可能导致的死锁问题。#38660
-
修复没有在规划全过程持有表锁导致可能出现规划报错的问题。 #38950
-
修复创建表时不能正确处理 CHAR(0), VARCHAR(0)的问题。#38427
-
修复 SHOW CREAT TABLE 可能错误的显示出隐藏列的问题。#38796
-
修复创建表时没有禁止使用和隐藏列同名列的问题。 #38796
-
修复在执行 INSERT INTO AS SELECT 时,如果存在 CTE,偶现的规划报错问题。#38526
-
修复 INSERT INTO VALUES 无法自动填充 NULL 默认值的问题。#39122
-
修复在 DELETE 中使用 CTE,但是没有使用 USING 时,导致的 NPE 问题。#39379
-
修复对随机分布的聚合模型表执行删除操作会失败的问题。#37985
执行引擎
-
修复多个场景下,Pipeline 执行引擎被卡顿,导致查询不结束的问题。#38657 #38206 #38885
-
修复了 NULL 和非 NULL 列在差集计算时导致的 Coredump 问题。#38737
-
修复了
width_bucket
函数结果错误的问题。#37892 -
修复了当单行数据很大且返回结果集也很大时(超过 2GB)查询报错的问题。#37990
-
修复了
stddev
在DecimalV2
类型下结果错误的问题。#38731 -
修复了
MULTI_MATCH_ANY
函数导致的 Coredump 问题。#37959 -
修复了 INSERT OVERWRITE AUTO PARTITION 导致事务回滚的问题。#38103
-
修复了
convert_tz
函数结果错误的问题。#37358 #38764 -
修复了
collect_set
函数结合窗口函数使用时 Coredump 的问题。#38234 -
修复了
mod
函数在异常输入时导致的 Coredump 问题。#37999 -
修复了多线程下执行相同表达式可能导致 Java UDF 结果错误的问题。#38612
-
修复了
conv
函数返回类型错误导致的溢出问题。#38001 -
修复了
histogram
函数结果不稳定的问题。#38608
存储管理
-
修复备份恢复后,写入数据时可能出现不可读的问题。#38343
-
修复跨版本 Restore Version 使用问题 。#38396
-
修复 Backup 失败时 Job 没有取消的问题。#38993
-
修复 2.1.4 升级到 2.1.5 CCR 报 NPE,导致 FE 不能启动的问题。#39910
-
修复 Restore 之后视图和物化视图不能使用的问题。#38072 #39848
数据导入
Routine Load
-
修复 Routine Load 一流多表可能得内存泄露的问题。 #38824
-
修复 Routine Load 包围符和转义符不生效的问题。#38825
-
修复 Routine Load 任务名包含大写字母时
show routineload
结果不正确的问题。#38826 -
修复改变 Routine Load Topic 时没有重置 Offset Cache 的问题。#38474
-
修复并发情况下
show routineload
可能触发异常的问题。#39525 -
修复 Routine Load 可能重复导入数据的问题。#39526
Group Commit
-
修复 JDBC 方式下打开 Group Commit 时 setNull 导致的数据报错问题 #38276
-
修复打开
group commit insert
发往非 Master FE 时可能导致 NPE 问题 #38345 -
修复 Group Commit 内部写数据错误处理不正确的问题。#38997
-
修复 Group Commit 执行规划失败时可能触发的 Coredump。#39396
其它
-
修复并发导入 Auto Partition 表可能报 Tablet 不存在的问题。#38793
-
修复可能的 Load Stream 泄露问题。#39039
-
修复 INSERT INTO SELECT 没有数据时开启事务的问题。#39108
-
使用 Memtable 前移时忽略单副本导入的配置。#39154
-
修复后台导入
stream load record
遇见 Database 删除时异常中止的问题。 #39527 -
修复 Strict Mode 模式下,出现数据错误时错误信息提示不准确的问题。#39587
-
修复 Stream Load 遇见错误数据不返回 Error URL 的问题。#38417
-
修复 Insert Overwrite 和 Auto Partition 配合使用的问题。#38442
-
修复 CSV 遇到行分隔符被包围符包围数据时解析错误的问题。#38445
数据导出
-
修复导出操作中指定
delete_existing_files
属性后,可能会重复删除导出数据的问题。#39304
权限管理
-
修复创建物化视图时,错误地要求拥有 ALTER TABLE 的权限的问题。#38011
-
修复
show routine load
时,Database 显式为空的问题。#38365 -
修复
create table like
错误的要求拥有对原表的创建权限的问题。#37879 -
修复赋权操作没有检查对象是否存在的问题。#39597
版本升级说明
Doris 升级请遵守不要跨两个二位版本升级的原则,依次往后升级。
比如从 0.15.x 升级到 2.0.x 版本,则建议先升级至 1.1 最新版本,然后升级到最新的 1.2 版本,最后升级到最新的 2.0 版本,以此类推。
相关文章:
Apache Doris 2.1.6 版本正式发布
亲爱的社区小伙伴们,Apache Doris 2.1.6 版本已于 2024 年 9 月 10 日正式发布。2.1.6 版本在 Lakehouse、异步物化视图、半结构化数据管理持续升级改进,同时在查询优化器、执行引擎、存储管理、数据导入与导出以及权限管理等方面完成了若干修复。欢迎大…...
一些常用的 Docker 命令
一些常用的 Docker 命令 涵盖了查看镜像、启动镜像等基本操作: 1. 查看 Docker 镜像 列出所有本地存储的镜像: docker images这会显示所有已经下载到本地的镜像,包括仓库名、标签、镜像 ID、创建时间和大小。 2. 拉取 Docker 镜像 从 Dock…...

【机器学习】--- 自然语言推理(NLI)
引言 随着自然语言处理(NLP)的迅速发展,**自然语言推理(Natural Language Inference, NLI)**已成为一项重要的研究任务。它的目标是判断两个文本片段之间的逻辑关系。这一任务广泛应用于机器阅读理解、问答系统、对话…...
大话C++:第11篇 类的定义与封装
1 类的定义 在C中,类的定义通常使用class关键字开始,后面紧跟类的名称。类可以包含数据成员(变量)和成员函数(方法)。 在C中,类可以更加详细地展开,包括数据成员(变量&…...

六种主流ETL工具的比较与Kettle的实践练习指南--MySQL、hive、hdfs等之间的数据迁移
在数据集成和数据仓库建设中,ETL(Extract, Transform, Load)工具扮演着至关重要的角色。本文将对六种主流ETL工具进行比较,并深入探讨Kettle的实践应用。 一、六种主流ETL工具比较 1. DataPipeline 设计及架构:专为…...
一天一道算法题day07
找出字符中第一个匹配的下标 题目描述 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1&#…...

电机学习-有感BLDC开环控制(六步换相)
文章目录 1. 简介2. 六步换向控制3. 机械角度和电角度4.转子位置获取5.霍尔传感器读取测试6.速度开环控制6.1 PWM设置6.2死区时间 1. 简介 BLDC的反电动势一般是梯形的反电动势,所以采用方波控制。如图2-1所示,是一个简化的内转子无刷直流电机。我们通过…...

《深度学习》PyTorch框架 优化器、激活函数讲解
目录 一、深度学习核心框架的选择 1、TensorFlow 1)概念 2)优缺点 2、PyTorch 1)概念 2)优缺点 3、Keras 1)概念 2)优缺点 4、Caffe 1)概念 2)优缺点 二、pytorch安装 1、安装 2、…...

Linux:进程(四)
目录 一、进程优先级 二、Linux调度与切换 1.背景 2.进程切换 一、进程优先级 背景:在计算机中,软硬件资源是有限的,而进程想要访问某一种资源,就得通过排队来保证访问资源的过程是有条不紊的。 Linux下对优先级的定义。执行命…...

CTC loss 博客转载
论文地址: https://www.cs.toronto.edu/~graves/icml_2006.pdf 为了对应这个图,我们假设一种符合的模型情况: 英文OCR,37个类别(26个小写字母10个汉字空格),最大输出长度8个字符 模型预测结果…...

TryHackMe 第3天 | Pre Security (中)
该学习路径讲解了网络安全入门的必备技术知识,比如计算机网络、网络协议、Linux命令、Windows设置等内容。上一篇中简短介绍了计算机网络相关的知识,本篇博客将记录 网络协议 部分。 How the web works? DNS in detail DNS (Domain name system&…...
c语言中“qsort函数”和“结构体成员访问变量”
qsort函数: qsort是c语言中的库函数,这个函数是对数据进行排序(对任意) 冒泡排序中排列整数顺序用的函数只适用于整形,而qsort函数适用与所有数据 排序算法 冒泡排序 插入 选择 快速 void qsort{ void * base&…...
【MySQL】在MySQL中STR_TO_DATE()
1.在MySQL中STR_TO_DATE() 在MySQL中,STR_TO_DATE() 函数用于将字符串转换为日期格式。这个函数非常有用,当你需要将文本数据转换为可由MySQL日期和时间函数处理的格式时。 1.1 语法 STR_TO_DATE() 函数的基本语法如下: STR_TO_DATE(date…...

PCIE集成验证(五)MSI/MSI-X中断
PCI 总线最早采用的中断机制是 INTx,这是基于边带信号的。后续的 PCI/PCI-X版本,为了消除边带信号,降低系统的硬件设计复杂度,逐渐采用了 MSI(Message Signaled Interrupt)/MSI-X(消息信号中断)的中断机制。…...
leetcode 380.O(1) 时间插入、删除和获取随机元素
实现RandomizedSet 类: RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。bool remove(int val) 当元素 val 存在时࿰…...
基于MicroPython的ESP8266控制PS2摇杆模块的设计方案
以下是一个基于MicroPython的ESP8266控制PS2摇杆模块的设计方案: 一、硬件准备: 1. 一块ESP8266开发板,如NodeMCU 2. 一个带有X、Y轴模拟输出和Z轴(按钮)数字输出的PS2摇杆模块 3. 杜邦线若干 4. 3.3V直流电源 二、硬件连接:…...

Spring Boot 3项目使用Swagger3教程
Spring Boot 3项目使用Swagger3教程 Swagger:自动生成接口文档 添加依赖(pom.xml) <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.1…...
linux-系统备份与恢复-系统恢复
Linux 系统备份与恢复:系统恢复 1. 概述 Linux 系统的恢复是系统管理的重要组成部分,它指的是在系统崩溃、硬件故障、误操作或安全问题后,恢复系统到可用状态的过程。良好的系统恢复计划可以有效避免数据丢失和业务中断,并确保系…...
【Rust语言】std::collections::HashMap用法
HashMap用法文档 文章目录 创建键的要求 增删改查增: insert删: remove/remove_entry改单点修改 get_mut整体修改 values_mut/iter_mut 查集增改于一身的entry 遍历只读遍历into_values() 与 into_keys()容量、实际长度、判空导出清除重定容量 use std::collections::HashMap;创…...

使用SoapUI、Postman工具调用Webservice方法
SoapUI工具更适合调用Webservice使用。 1.使用SoapUI工具调用Webservice 创建“New SOAP Project” 自行定义一个项目名称,输入wsdl地址: 在左侧列表找到方法名,双击“Request 1”, 在请求数据中,添加对应的参数,然…...
Flink CDC将MySQL数据同步到数据湖
此项目可以理解为MySQL数据迁移,由Flink Stream监听MySQL的Binlog日志写入Kafka,在Kafka消费端将消息写入Doris或其他外部对象存储。 涉及的环境与版本 组件版本flink1.20.1flink-cdc3.4.0kafka2.13-4.0.0Dragonwell17 引入相关依赖 <?xml versio…...

Predixy的docker化
概述 当前已有一套redis cluster的集群,但是fs中的hiredis只能配置单实例redis。 AI了一下方案,可以使用redis的proxy组件来实现从hiredis到redis cluster的互通。 代码地址:https://github.com/joyieldInc/predixy Predixy特性介绍&…...

Google 发布的全新导航库:Jetpack Navigation 3
前言 多年来,Jetpack Navigation 库一直是开发者的重要工具,但随着 Android 用户界面领域的发展,特别是大屏设备的出现和 Jetpack Compose 的兴起,Navigation 的功能也需要与时俱进。 今年的 Google I/O 上重点介绍了 Jetpack Na…...
基于随机函数链接神经网络(RVFL)的锂电池健康状态(SOH)预测
基于随机函数链接神经网络(RVFL)的锂电池健康状态(SOH)预测 一、RVFL网络的基本原理与结构 随机向量功能链接(Random Vector Functional Link, RVFL)网络是一种单隐藏层前馈神经网络的随机化版本,其核心特征在于输入层到隐藏层的权重随机生成且固定,输出层权重通过最…...
Spring MVC + Tomcat 8.5 踩坑实录:Servlet 版本引发的部署失败
🚧 Spring MVC Tomcat 8.5 踩坑实录:Servlet 版本引发的部署失败 🌐 作者:劲爽小猴头 🗓️ 时间:2025-05-28 📚 关键词:Spring MVC、Tomcat、Servlet、WAR部署、web.xml、Maven、JD…...
青少年编程与数学 02-020 C#程序设计基础 08课题、字符和字符串
青少年编程与数学 02-020 C#程序设计基础 08课题、字符和字符串 一、字符和字符集1. 字符(Character)定义特点示例 2. 字符集(Character Set)定义特点常见字符集 小结 二、char数据类型1. 定义2. 特点3. 声明和初始化4. 转义字符示…...

构建系统maven
1 前言 说真的,我是真的不想看构建了,因为真的太多了。又多又乱。Maven、Gradle、Make、CMake、Meson、Ninja,Android BP。。。感觉学不完,根本学不完。。。 但是没办法最近又要用一下Maven,所以咬着牙再简单整理一下…...
打卡day42
DAY 42 Grad-CAM与Hook函数 知识点回顾 回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例 作业:理解下今天的代码即可 1、回调函数 回调函数(Callback Function)是一种特殊的函数,它作为参数传递给另一个函数&am…...
JS中的函数防抖和节流:提升性能的关键技术
在JavaScript开发中,函数防抖和节流是两种常用的优化技术,用于处理那些可能会被频繁触发的事件,如resize、scroll、mousemove等。本文将详细介绍函数防抖和节流的概念、实现方法以及它们之间的区别。 一、什么是函数防抖和节流? …...

MES管理系统:Java+Vue,含源码与文档,实现生产过程实时监控、调度与优化,提升制造企业效能
前言: 在当今竞争激烈的制造业环境中,企业面临着提高生产效率、降低成本、提升产品质量以及快速响应市场变化等多重挑战。MES管理系统作为连接企业上层计划管理系统与底层工业控制之间的桥梁,扮演着至关重要的角色。它能够实时收集、分析和处…...