news 2026/9/3 1:44:06

Flink ML 数据类型:Vector 向量类型入门(DenseVector / SparseVector)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flink ML 数据类型:Vector 向量类型入门(DenseVector / SparseVector)

1. Flink ML 的数据类型支持范围

Flink ML 支持:

  1. Flink Table API 支持的全部类型
    例如:BOOLEAN / INT / BIGINT / DOUBLE / STRING / ARRAY / MAP / ROW / TIMESTAMP等。

  2. Flink ML 在此基础上补充的类型
    最典型就是Vector(向量),用于表示模型输入的特征。

2. Vector 是什么?

在 Flink ML 中,Vector 表示一个double 数组形式的向量,并且有两个具体实现:

  • DenseVector(稠密向量)

    • 大部分维度都有值(或你希望用数组直接存储所有维度)
    • 适合维度不算特别高、或者特征不是很稀疏的场景
  • SparseVector(稀疏向量)

    • 只有少量维度有非零值
    • 适合高维稀疏特征(比如 one-hot、词袋、特征哈希等)

无论 Dense 还是 Sparse,Flink ML 的 Vector 都具备这些共同特点:

  • 向量在创建时就固定size(维度)
  • 支持按0-based 下标读取 / 设置某一维的 double 值
  • 都用于表达“特征列”,常见列名是features

3. Vectors 工具类:创建向量更方便

Flink ML 提供了Vectors工具类,用来快速构造 DenseVector / SparseVector。

4. Java 示例:构造 SparseVector

你给的示例含义是:

  • 向量维度n = 4(即下标范围 0~3)
  • 只有下标0,2,3是非零维度
  • 对应值分别是0.1, 0.3, 0.4
intn=4;int[]indices=newint[]{0,2,3};double[]values=newdouble[]{0.1,0.3,0.4};SparseVectorvector=Vectors.sparse(n,indices,values);

这等价于一个完整的 dense 表达:

[0.1, 0.0, 0.3, 0.4]

5. 你在工程里什么时候用 Dense / Sparse?

用 DenseVector 的典型情况

  • 特征维度较小(比如几十维、几百维)
  • 大多数维度都有值(不稀疏)
  • 特征已经是数值型统计特征(pv/click/avg_duration 等)

用 SparseVector 的典型情况

  • 特征维度很高(几千、几万甚至更高)

  • 绝大多数维度都是 0(稀疏)

  • 常见于:

    • one-hot 编码后的离散特征
    • 文本特征(词袋/TF-IDF)
    • 特征哈希

6. 实用小提示:SparseVector 的注意事项

在构造稀疏向量时,建议保证:

  • indices.length == values.length
  • indices 取值范围必须在[0, n-1]
  • indices 最好是严格递增且不重复(很多实现会假设这一点,或性能更好)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 23:39:31

纪念币预约自动化工具:智能抢币新时代

还在为纪念币预约的激烈竞争而烦恼吗?这款基于Python开发的纪念币预约自动化工具将彻底改变你的预约体验。通过智能填表、验证码自动识别等核心技术,让你轻松实现纪念币预约零失败的目标。 【免费下载链接】auto_commemorative_coin_booking 项目地址…

作者头像 李华
网站建设 2026/9/2 23:39:25

Arduino与WiFi模块联动:智能家居网关实战案例

用Arduino和WiFi模块打造智能家居网关:从零搭建实战指南你有没有想过,家里那些“傻乎乎”的灯、风扇、温控器,其实可以变得聪明起来?比如温度一高自动开空调,离家时自动关灯,甚至在手机上就能查看家里的空气…

作者头像 李华
网站建设 2026/9/2 15:27:30

纪念币预约自动化实战指南:告别手动抢币的烦恼

纪念币预约自动化实战指南:告别手动抢币的烦恼 【免费下载链接】auto_commemorative_coin_booking 项目地址: https://gitcode.com/gh_mirrors/au/auto_commemorative_coin_booking 为什么你需要自动化预约工具? 每次纪念币发行时,你…

作者头像 李华
网站建设 2026/9/2 5:57:59

基于SpringBoot的宠物领养系统的设计与实现毕业设计

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot框架的宠物领养系统。该系统旨在为宠物领养机构、志愿者以及潜在领养者提供一个高效、便捷的在线服务平台。具体而言&am…

作者头像 李华
网站建设 2026/9/2 23:40:14

芒格智慧精要

查理芒格(Charlie Munger)的12个顶级思维模型是其投资哲学与决策智慧的核心体现,涵盖目标管理、战略分析、领导力等多个维度。这些模型通过跨学科视角帮助人们优化决策,提升认知效率。‌‌1‌‌2目标管理与决策优化‌双目标清单系…

作者头像 李华