- 博客(1387)
- 资源 (3)
- 收藏
- 关注
原创 Flink SQL 性能调优MiniBatch、两阶段聚合、Distinct 拆分、MultiJoin 与 Delta Join 一文打通
在生产环境里,Flink SQL 的“慢”通常不是 SQL 写得不够花哨,而是执行算子默认策略更偏稳妥:逐条处理、频繁读写状态、Join 产生大量中间结果,最后把 RocksDB state 和网络 shuffle 一起拖进深坑。
2026-01-04 11:00:31
358
原创 Table & SQL API 配置从“默认可用”到“针对场景调优”的一套方法论
Flink 的 Table & SQL API 默认已经做了“准确结果 + 可接受性能”的预配置,大多数场景开箱即用。但一旦进入生产,尤其是 无界流(Streaming)、CDC、维表 Join、高基数聚合 这些场景,就必须通过配置把吞吐、延迟、状态、资源与正确性平衡好。
2026-01-04 10:56:03
455
原创 Hive Dialect在 Flink 里写 Hive 语法,减少 Hive/Flink 来回切换
Hive Dialect 简介与使用指南 Hive Dialect 是 Flink 提供的一种 SQL 方言模式,主要解决 Hive 语法兼容性问题,提升与 Hive 生态的互操作性,降低用户在 Flink 和 Hive 之间切换的成本。 使用前提与注意事项: 必须引入 Hive 相关依赖 当前 Catalog 需为 HiveCatalog 建议优先加载 HiveModule 确保函数解析一致 仅支持 2-part 标识符(schema.table) Hive 版本影响部分功能支持 主要用于批处理,流模式下
2026-01-03 06:45:00
315
原创 HiveServer2 Endpoint用 Beeline/DBeaver/Superset 直接连上 Flink SQL Gateway
如果你希望复用 Hive 生态的客户端与工具(Beeline、DBeaver、Superset 等),又想把执行引擎换成 Flink,那么 SQL Gateway 的 HiveServer2 Endpoint 就是最省事的方案:它兼容 HiveServer2 wire protocol,客户端通过 Thrift/Hive JDBC 提交 Hive 方言 SQL,由 Flink 在后端解析、优化并提交作业。
2026-01-03 04:45:00
849
原创 Hive Dialect 的查询能力支持哪些 HiveQL 子集,怎么写、怎么跑
Hive Dialect 在 Flink 中支持 HiveQL 的主要查询功能,包括排序、聚合、连接、窗口函数等常见操作。语法结构遵循标准 Hive 查询模板,支持 WHERE 过滤、GROUP BY 聚合以及多种排序方式(ORDER BY/CLUSTER BY/DISTRIBUTE BY)。使用时需先配置 HiveCatalog 并切换方言,注意全局排序 ORDER BY 在大数据集上性能较差,建议改用分区排序。示例展示了从环境配置到运行 UDTF 和 CLUSTER BY 查询的全流程,提醒开发者注意方
2026-01-02 23:41:48
988
原创 Flink SQL Gateway REST Endpoint Session、Operation、分页拉取结果与端口配置一次讲透
本文介绍了Flink SQL Gateway的REST API核心交互模型与关键配置。主要内容包括:1) 基于Session-Operation-Result的三步交互流程;2) 网络配置中address与bind-address的区别及bind-port范围配置建议;3) OpenAPI v1-v4版本功能演进;4) 常用API清单及使用场景;5) 结果拉取时的JSON与PLAIN_TEXT格式选择;6) 完整REST调用流程示例;7) 生产环境封装建议,包括心跳机制、资源释放和分页处理等。为平台化集成F
2026-01-02 23:21:36
686
原创 Flink SQL Gateway 把 Flink SQL 变成“多客户端并发可用”的统一服务入口
本文介绍了 Apache Flink SQL Gateway 的核心功能与应用场景。SQL Gateway 作为 Flink 的 SQL 服务化入口,支持多用户并发访问、标准协议接入和统一资源管理。文章详细解析了其架构设计(Endpoint + SqlGatewayService)、会话与操作机制,并提供了快速部署指南和 REST API 使用示例。重点阐述了 SQL Gateway 的关键能力,包括多集群路由、多种客户端接入方式(SQL Client/JDBC/HiveServer2)以及生产环境配置调优
2026-01-02 23:15:47
1273
原创 Flink SQL Client不用写一行 Java/Scala,也能把 SQL 跑在集群上
在很多团队里,Flink SQL 的门槛并不在 SQL 本身,而在“得写个 Table 程序、得打包、得提交到集群”。SQL Client 的意义就是把这层门槛直接抹平:你只需要命令行 + SQL,就能完成编写、调试、提交、观察结果的整套闭环,特别适合做交互式探索、验证 Connector、调参、排障。
2026-01-02 23:10:41
593
原创 Flink SQL Client 全面上手:不用写一行 Java/Scala,也能把 SQL 跑在集群上
在很多团队里,Flink SQL 的门槛并不在 SQL 本身,而在“得写个 Table 程序、得打包、得提交到集群”。SQL Client 的意义就是把这层门槛直接抹平:你只需要命令行 + SQL,就能完成编写、调试、提交、观察结果的整套闭环,特别适合做交互式探索、验证 Connector、调参、排障。
2026-01-02 23:09:41
627
原创 Flink OLAP Quickstart把 Flink 当成“秒级交互查询”的 OLAP 服务来用
Flink JDBC Driver 提供了标准化的JDBC接入方式,支持通过JDBC协议连接Flink SQL Gateway并执行SQL查询。核心架构包括JDBC Driver客户端、SQL Gateway服务端和Flink集群三部分。用户可通过Beeline、SQLLine等命令行工具或Tableau等BI工具连接,也支持Java应用通过DriverManager或DataSource方式集成。使用时需注意:需先启动SQL Gateway服务,依赖需单独引入flink-sql-jdbc-driver-b
2026-01-02 23:05:58
816
原创 Flink JDBC Driver把 Flink SQL Gateway 变成“数据库”,让 BI / 工具 / 应用直接用 JDBC 跑 Flink SQL
Flink JDBC Driver 提供了标准化的JDBC接入方式,支持通过JDBC协议连接Flink SQL Gateway并执行SQL查询。核心架构包括JDBC Driver客户端、SQL Gateway服务端和Flink集群三部分。用户可通过Beeline、SQLLine等命令行工具或Tableau等BI工具连接,也支持Java应用通过DriverManager或DataSource方式集成。使用时需注意:需先启动SQL Gateway服务,依赖需单独引入flink-sql-jdbc-driver-b
2025-12-31 23:17:13
1105
原创 Flink Catalogs 元数据统一入口、JDBC/Hive/自定义 Catalog、Time Travel、Catalog Store 与监听器
Flink Catalog 是统一管理元数据的核心组件,提供跨存储系统的表、函数、数据库等元数据管理能力。本文介绍了 Flink Catalog 的核心价值、主要类型(内存/JDBC/Hive/自定义)、基本使用方法以及高级特性。重点内容包括:Catalog 的注册与切换机制、元数据操作 API、1.18 新增的 Time Travel 功能、Catalog 修改监听器以及持久化配置的 Catalog Store。文章还给出了平台化落地的实践建议,包括元数据对接、DDL 审计和历史查询等场景。Flink C
2025-12-31 13:38:51
680
原创 Flink Modules 把自定义函数“伪装成内置函数”,以及 Core/Hive/自定义模块的加载与解析顺序
Flink SQL 的 Module 机制提供了一种灵活的函数扩展方案。它允许将自定义函数、Hive函数等作为系统内置函数使用,支持函数包的统一管理和加载。Module具有明确的解析顺序控制,可以解决同名函数冲突问题。通过LOAD/UNLOAD和USE MODULES命令可以动态管理模块生命周期和优先级。该机制特别适合需要统一函数能力包、兼容Hive生态等场景,但不适用于需要命名空间隔离或临时函数的情况。相比直接注册函数,Module提供了更系统化的函数管理能力。
2025-12-31 13:25:26
704
原创 Ollama + 4090(48GB)推理性能榨干从“显存占满但 GPU-Util=0”到“速度/吞吐可控拉满”
本文针对Ollama推理性能优化提供了系统性指导。首先强调必须明确优化目标:吞吐优先(提高并发处理能力)或速度优先(降低单请求延迟)。文章详细解析了GPU使用误区(显存占用≠推理负载),提出了tokens/s为核心的性能评估方法。针对双4090显卡配置,建议吞吐优先采用双实例负载均衡,速度优先则使用单卡单实例。提供了systemd的吞吐型和速度型配置模板,并给出GPU性能调优命令。最后指出请求参数(如上下文长度、批处理大小)和量化选择对性能的关键影响,推荐了分步骤调优路线图,特别强调量化等级选择往往比单纯关
2025-12-30 11:20:48
821
原创 Flink ML LinearRegression 用 Table API 训练线性回归并输出预测值
Flink ML 的 LinearRegression 实现了线性回归算法,通过训练数据学习权重参数,预测连续值目标。输入需要特征向量(featuresCol)和标签(labelCol),可选权重列(weightCol)。训练时可调参数包括正则化系数、学习率等。特征预处理推荐标准化(StandardScaler)以提高收敛性。使用流程包括fit训练模型和transform预测,输出包含预测值(predictionCol)。支持数值和类别特征处理,适用于多种回归场景。
2025-12-29 23:59:00
887
原创 Flink ML VectorAssembler 把多列特征“拼”成一个向量列(数值 + 向量都支持)
在 Flink ML 里,大多数算法(LR、SVM、KMeans、KNN 等)都习惯用一个统一的 `features` 向量列作为输入。但真实数据往往是“多列形态”:有的列是数值(年龄、金额),有的列已经是向量(one-hot、embedding、稀疏特征)。
2025-12-29 23:55:22
487
原创 Flink ML StringIndexer 把字符串/数值类别映射成索引(多列支持、排序策略、handleInvalid)+ 反向还原 IndexToString
StringIndexer是一种将字符串或数值类别转换为索引的机器学习预处理工具。它会为每列建立"值→索引"的映射字典,相同值对应相同索引,不同值对应不同索引。输入列可以是字符串或数值类型,输出为Double类型的索引列。主要参数包括输入/输出列名、处理非法值方式等,其中排序策略(如字典序)会影响索引分配稳定性。实际应用中常与OneHotEncoder配合使用,形成"StringIndexer→OneHotEncoder→模型训练"的标准流程。使用时需注意排序策略的选
2025-12-29 23:52:51
692
原创 Flink ML StandardScaler 标准化(去均值 + 除以标准差)让特征“同量纲”更好学
在很多机器学习算法里(KMeans/KNN/SVM/LogisticRegression 等),特征尺度差异会直接影响距离计算和梯度优化,带来收敛慢、效果不稳定、被某一维“支配”等问题。
2025-12-29 23:49:36
463
原创 Flink ML OneHotEncoder 把类别索引变成稀疏 one-hot 向量
OneHotEncoder是Flink ML中用于处理离散特征的重要转换器,它将类别索引转换为稀疏向量表示。核心功能包括:根据输入类别确定输出维度,支持多列并行处理,提供dropLast选项控制维度缩减(默认true以避免共线性),以及handleInvalid参数处理异常值。典型应用场景包括与Bucketizer或LabelEncoder组合使用,为线性模型准备特征。使用时需注意训练集类别范围决定编码维度、输入类型一致性等问题,线上环境建议采用SKIP_INVALID策略增强稳定性。该工具尤其适合需要高效
2025-12-29 23:47:06
1109
原创 Flink ML MinMaxScaler 把特征缩放到统一区间 [min, max]
MinMaxScaler是Flink ML中常用的特征缩放工具,通过线性变换将特征值映射到指定区间(默认为[0,1])。其核心公式为x'=(x-x_min)/(x_max-x_min)*(max-min)+min,其中x_min和x_max从训练数据统计得出。使用时需注意:1)异常值会严重影响缩放效果,建议先处理异常值;2)必须用训练集fit出的参数统一处理训练和预测数据;3)可根据需求调整输出区间。虽然简单高效,但对数据分布敏感,需谨慎使用。
2025-12-28 17:59:13
618
原创 Flink ML Bucketizer 连续特征分桶(多列映射、splitsArray、handleInvalid)+ Java 示例解读
本文介绍了 Flink ML 中的 Bucketizer 组件,用于将连续特征分桶为离散区间。核心功能包括:按 splitsArray 配置的区间划分输入列,输出桶索引范围为 [0, numSplits-2]。详细解析了输入/输出列参数、splitsArray 的单调递增要求及边界处理建议(推荐使用 -INF/+INF),以及 handleInvalid 的三种处理策略。通过 Java 示例展示了四列特征同时分桶的实现过程,包括数据准备、分桶配置和结果输出。最后给出实战建议:优先考虑数据分布设计分桶,注意边
2025-12-28 17:56:29
722
原创 Flink ML 二分类评估器 BinaryClassificationEvaluator AUC、PR-AUC、KS 一次搞懂
BinaryClassificationEvaluator支持输入真实标签(labelCol)、原始预测(rawPredictionCol)和可选权重(weightCol)。原始预测可以是double类型(0/1或概率)或vector类型([p0,p1])。评估器可输出多种指标,包括ROC-AUC(整体排序能力)、PR-AUC(样本不均衡时)和KS(风控场景)。通过setMetricsNames()指定需要计算的指标,支持带权重的评估。示例展示了如何计算PR-AUC、ROC-AUC和KS值,并说明输出
2025-12-28 17:25:18
394
原创 Flink ML K-Means 离线聚类 + 在线增量聚类(mini-batch + decayFactor)
摘要 K-Means算法分为离线版和在线版两种实现。离线K-Means适用于有限数据集,通过迭代计算固定聚类中心,支持欧式距离度量,主要参数包括簇数量k、最大迭代次数等。在线K-Means(OnlineK-Means)则面向无界数据流,采用mini-batch更新机制和衰减因子(decayFactor)实现持续学习,使聚类中心能随数据分布变化而动态调整。衰减因子控制历史数据的遗忘程度,值越小模型对新数据越敏感。在线版本需要设置初始模型数据、batch大小等参数。选择依据:离线版适合数据分布稳定的场景,在线版
2025-12-28 17:20:49
827
原创 Flink ML Naive Bayes 多分类朴素贝叶斯
本文介绍了Flink ML中朴素贝叶斯分类器的使用方法和关键参数。主要内容包括:输入列(特征向量和标签列)与输出列(预测列)的定义;模型参数详解,重点说明了平滑参数(smoothing)的作用;通过Java示例代码展示完整训练预测流程;针对multinomial朴素贝叶斯给出了工程实践建议,包括特征类型适配、非负特征处理和smoothing调参策略。最后总结指出该算法特别适合作为多分类任务的基线模型,尤其在文本和稀疏特征场景表现优异。
2025-12-28 17:07:56
646
原创 Flink ML Logistic Regression 离线训练 + 在线增量训练(FTRL-Proximal)
本文介绍了Spark中的两种逻辑回归实现:离线版LogisticRegression和在线版OnlineLogisticRegression。离线版适用于批处理数据,通过多轮迭代训练稳定模型;在线版采用FTRL-Proximal算法,支持无界流数据的增量训练和模型持续更新。文章详细对比了两者的输入输出列、核心参数及Java示例代码,重点指出在线版特有的模型版本追踪功能。针对工程实践,强调了label类型统一的重要性,并解析了在线训练周期性数据流的特点。两种实现分别满足不同场景需求,离线版适合批预测,在线版则
2025-12-28 17:05:06
820
原创 Flink ML 线性 SVM(Linear SVC)入门输入输出列、训练参数与 Java 示例解读
本文详细介绍了Flink ML中Linear SVC模型的输入输出列配置、关键参数说明及使用注意事项。重点解析了特征列、标签列、预测列的定义,训练参数如正则化、学习率的作用,并提供了Java示例代码解读。特别强调了类型一致性、特征缩放、样本权重设置等工程实践建议,帮助开发者避免常见错误并优化模型性能。文章还说明了如何通过调整分类阈值来平衡召回率和精度,为生产环境应用提供了实用指导。
2025-12-28 16:58:13
626
1
原创 Flink ML KNN 入门基于 Table API 的近邻分类
本文介绍了Flink ML中KNN算法的输入输出列、参数配置及Java示例代码。KNN模型需要设置最近邻数量k、特征列名和预测列名,训练时需要标签列。示例展示了如何构建训练集和预测集,并强调特征列必须为向量类型,建议统一标签为Integer类型以避免类型不一致问题。文中还提供了规范的代码示例,包含数据准备、模型训练、预测和结果输出全流程。最后指出特征缩放对KNN效果至关重要,建议在训练前进行标准化处理。
2025-12-28 16:50:34
582
原创 Flink ML 数据类型:Vector 向量类型入门(DenseVector / SparseVector)
Flink ML支持多种数据类型,包括Table API的全部类型和补充的Vector类型。Vector分为DenseVector(稠密向量)和SparseVector(稀疏向量),用于表示特征列。Vectors工具类可快速创建向量。DenseVector适用于低维非稀疏数据,SparseVector适用于高维稀疏特征(如one-hot编码)。构造SparseVector时需确保indices与values长度一致且递增。
2025-12-27 00:10:17
276
原创 Flink ML 迭代机制详解:有界迭代 vs 无界迭代、IterationBody、Epoch 与 API 实战
本文系统介绍了Flink ML中的迭代计算范式。主要内容包括:1)区分有界迭代(离线训练)和无界迭代(在线学习);2)Flink ML将迭代体抽象为子图,通过模型变量流和数据流实现参数更新;3)核心API Iterations提供两种迭代方法,用户需提供初始变量、数据和迭代体逻辑;4)迭代过程中数据会携带epoch标记,并通过监听器实现轮次控制;5)示例展示了无界迭代的典型用法,包括参数更新流程和反馈机制。该范式统一了批处理和流式场景下的模型训练方式。
2025-12-26 13:24:45
628
原创 从 Transformer 一层看 Groq LPU:一次 forward 如何被“编译成确定性流水线”
Groq 的核心主张是:推理性能的关键不只是峰值算力,而是把执行过程变得可预测、低抖动。因此它用“片上 SRAM 主存 + 编译器静态调度 + 确定性执行 + 直连互联”把推理的计算与通信都尽量放到编译期规划好。
2025-12-25 13:57:33
836
原创 Flink Procedures 用 SQL 的 `CALL` 跑 Flink Job(实现、类型推断、命名参数、Catalog 集成一篇搞懂)
Flink Table API & SQL 除了能写查询,还提供了 Procedures(过程) 机制,用来做数据操作和管理类任务。与普通 UDF 最大的区别是:Procedure 可以拿到 `StreamExecutionEnvironment`,并在里面直接跑 Flink Job,因此更灵活、更“像运维/管理命令”。
2025-12-25 13:51:59
1005
原创 Flink Process Table Functions(PTF)实战详解:把 SQL 变成“可编程算子”,状态、时间、定时器一把梭
Flink PTF(Process Table Functions)是一种增强型表函数,支持状态管理、事件时间和计时器等功能。它既是SQL标准PTF的超集,又融合了流式计算的核心能力。PTF支持行语义(独立处理每行)和集合语义(按key分组处理),通过虚拟处理器实现分布式状态管理。开发者可通过@StateHint声明状态,设置TTL,并使用ListView/MapView处理大状态。PTF还能处理多表输入实现自定义Join,并通过on_time参数和Timer机制支持事件时间处理。这种设计使PTF既能扩展处
2025-12-25 13:19:54
676
原创 Groq LPU 架构解读为什么它把大模型推理“尾延迟”压得这么稳
Groq的LPU架构专为AI推理优化,通过独特设计解决推理场景的核心痛点。其核心创新包括:将数百MB片上SRAM作为主存而非缓存,大幅降低访存延迟;采用编译器静态调度和确定性执行,实现精确到时钟周期的计算与通信控制;通过"可编程传送带"数据流和plesiosynchronous协议互联,使多芯片像单核一样工作;TruePoint混合精度技术在不牺牲质量前提下提升性能。LPU特别适合强交互、低延迟要求的场景,如在线对话、实时Agent等,但对追求极限吞吐或强绑定CUDA生态的场景需谨慎评估
2025-12-25 13:13:13
634
原创 Flink SQL / Table API 自定义函数(UDF)全家桶从 Scalar 到 PTF,一篇搞懂设计、实现与坑点
Flink提供了多种用户自定义函数(UDF)类型,主要包括标量函数(ScalarFunction)、异步标量函数(AsyncScalarFunction)、表函数(TableFunction)、异步表函数(AsyncTableFunction)、聚合函数(AggregateFunction)、表聚合函数(TableAggregateFunction)和进程表函数(Process Table Function)。这些函数分为行级处理、聚合处理和算子级处理三大类。实现UDF需要继承对应基类,定义特定方法如eva
2025-12-24 13:50:34
923
原创 Flink Table API & SQL Functions 函数类型划分、引用方式与解析优先级
在 Flink Table API & SQL 中,函数是数据转换的核心能力。为了支持多租户、多 Catalog、多数据库以及会话级临时能力,Flink 将函数按两条维度划分:**系统函数 vs Catalog 函数**、**临时函数 vs 持久函数**,组合得到 4 类函数;同时在 SQL 中又区分 **精确引用** 与 **模糊引用** 两种调用方式,并定义了明确的函数解析优先级,避免同名函数冲突带来的歧义。本文用一套统一心智模型讲清楚:函数有哪些类型、怎么写引用、发生同名冲突时 Flink 到底选谁
2025-12-24 13:26:10
866
原创 KeyDB 兼容性无缝替换 Redis 的底气、回迁的坑、客户端与生态怎么落地
KeyDB作为Redis的替代方案,在兼容性、迁移策略和特性使用上需特别注意。它完全兼容Redis协议与API,常规场景下可无缝替换,但使用KeyDB特有功能(如active-rep、subkey expires等)后将无法回迁Redis。建议采用"先替换不增强"的稳健策略,通过灰度迁移验证稳定性,并建立版本对齐清单。客户端库虽可直接使用,但应封装KeyDB特有命令以便管理。迁移前需评估命令使用画像和数据结构风险,迁移中重点关注指标对齐和回滚预案。最容易踩的坑包括高估兼容性、散落特有命令
2025-12-23 08:30:00
909
原创 KeyDB 开源版生产级Docker Compose 一键部署 + 推荐 keydb.conf 起步配置
KeyDB 与 Redis 协议/API 兼容,很多场景可以直接替换 Redis 使用。本文聚焦“落地能用”:用 Docker Compose 一键启动 KeyDB(带持久化与密码),并给出一份工程上常用的 `keydb.conf` 起步配置模板。
2025-12-23 08:00:00
1793
原创 KeyDB 一台“40 英尺卡车”式的 Redis 兼容高性能缓存
在缓存/KV 数据库的世界里,你经常会遇到一种“搬家式”的痛苦:为了把吞吐顶上去,要拆分(sharding)、要多进程、要哨兵(sentinel)监控、要一堆节点协作,系统复杂度一路飙升。KeyDB 的理念很直白:**先把单机单节点的性能榨干**,让大多数业务不必一上来就“搬家拆箱”,而是像开着 **40 英尺大卡车**一样——很多东西直接往里一扔就能走。
2025-12-22 21:36:30
697
原创 Flink Materialized Table Quickstart本地 10 分钟跑通 CONTINUOUS / FULL
本文详细介绍了Flink环境下的物化表操作流程,包含环境准备、组件启动、Catalog创建及两种刷新模式的配置。环境准备阶段需设置目录结构、安装Flink和test-filesystem connector,并配置YAML文件。启动Flink集群和SQL Gateway后,创建test-filesystem Catalog和JSON源表。重点演示了CONTINUOUS模式(流式30秒刷新)和FULL模式(批式1分钟刷新)物化表的创建、挂起/恢复、查询及删除操作,同时展示了分区刷新功能。验证点包括Web UI
2025-12-22 21:25:24
763
建议一个名称为 FusionDepthSR,即“融合深度超分辨网络” 这个名称突出了项目核心:利用 RGB 图像引导,实现深度图的超分辨率重建,并通过多尺度与反馈机制融合特征,提升重建效果
2025-03-08
Middlebury2014 & RGB TRAIN 深度超分数据集
2025-03-08
axure web元件库.zip
2024-05-17
Wav2Vec2模型文件
2024-02-29
arcface模型文件
2024-02-28
Resnet152模型文件基于2048维度的向量
2024-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅