avro 数据入门

news/2025/11/9 15:53:15/文章来源:https://www.cnblogs.com/yg_zhang/p/19204354

1.概述

Apache Avro 是一种 开源的、语言无关的、基于行的(row-based)数据序列化格式,由 Hadoop 项目开发,广泛用于大数据生态系统(如 Kafka、Spark、Flink、Hive 等)中,用于高效存储和传输结构化数据。

  • avro 是使用二进制存储
  • 需要一个schema数据格式
  • 可以通过schema 生成 类对象
  • 可以通过类对文件反序列化

2.使用方法

2.1 定义schema 文件

user.avsc

{"namespace": "com.example.avro","type": "record","name": "User","fields": [{"name": "name", "type": "string"},{"name": "favorite_number", "type": ["int", "null"]},{"name": "favorite_color", "type": ["string", "null"]}]
}

2.2 生成对象

定义pom.xml
plugins 定义如下

<plugins><plugin><groupId>org.apache.avro</groupId><artifactId>avro-maven-plugin</artifactId><version>1.12.0</version><executions><execution><phase>generate-sources</phase><goals><goal>schema</goal></goals><configuration><sourceDirectory>${project.basedir}/src/main/resources/avro/</sourceDirectory><outputDirectory>${project.basedir}/src/main/java/</outputDirectory></configuration></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>21</source><target>21</target></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>

schema 文件 放到 /src/main/resources/avro/ 目录下

点击 install 后生成文件如下:

image

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

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

相关文章

Day 21

算法复习日:把“似懂非懂”的逻辑磨到通透 原本以为算法复习就是再刷几道题,可坐在电脑前打开之前的笔记才发现,很多算法只是“会写代码”,却没吃透底层逻辑——今天特意放慢节奏,对着二分查找、快速排序这两个“…

2025龙信杯个人Wp

服务器基本没做,时间太赶了www 一、 手机镜像检材 (共24题) 1.​ 分析手机镜像,请问机身的Wi-Fi 信号源的物理地址是什么?[标准格式:01:02:03:04:05:06] 00:db:60:6e:86:132.​ 分析手机镜像,请问张大的手机号码尾…

7大AI论文写作工具必备!论文写作辅助神器推荐!

临近毕业季,写毕业论文让不少人痛苦不堪。2025 年 AI 技术飞跃,成为学生的“学术神器”。作者亲自试用全网热门的 7 个 AI 写作工具,其中瑞达写作表现出色。文章详细介绍了包括瑞达写作、QuillBot、图灵论文 AI 写作…

二 C#工程化部署Yolo - 详解

二 C#工程化部署Yolo - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…

flask: 报错:The CSRF token is missing.

一,报错信息 {csrf_token: [The CSRF token is missing.]}二,解决 : 在相应的form中添加:class Meta:csrf = False 例子如下: class AddedForm(FlaskForm):name = StringField(name, validators=[DataRequired(),…

Java数组——二维及多维数组

Java数组——二维及多维数组二维及多维数组 数组嵌套数组,例如:二维数组是一个特殊得一维数组,其中每个元素都是一个一维数组 二维数组 int a[][]= new int [2][3]; 以上数组a可视为二行三列的数组 public class Ar…

详细介绍:MySql复习及面试题学习

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

MATLAB 实现 SRCNN 图像超分辨率重建

MATLAB代码实现,用于基于三层卷积神经网络的图像超分辨率重建。 1. MATLAB代码实现 % 超分辨率卷积神经网络(SRCNN)的测试代码 % 参考文献:Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang. % 学习深度卷积网络…

2025.11.03~2025.11.09

2025.11.03~2025.11.09ZJCPC 2022 A Problem \(T\) 组数据。给定正整数 \(a, b\),你需要确定一个正奇数 \(x\) 和一个正偶数 \(y\) 使得 \(a\) 经过最少操作数变成 \(b\):每次选择将当前数 \(+x\) 或 \(-y\)。求最少…

2025年热门的安全检测检验公司综合排名

摘要 随着矿山安全意识的提升,2025年安全检测检验行业迎来快速发展,专注于设备设施检测和监控系统。本文基于行业数据、用户口碑和技术实力,综合评选出排名前十的公司,为矿山企业提供参考。排名表单结合了权威评测…

2025 秋季 洛阳游

故事要从国庆节说起,那时我刚通关 《饿殍:明末千里行》。故事相当的好,看完结局 ⌊ 不见 ⌉ 略有初中时看完 《龙族:黑月之潮》 的感慨。心想,没法去龙族痛城东京,好歹找个机会去洛阳看看满穗吧!结果一看研学路…

详细介绍:Python 2025年10月最新:多平台域名/小程序封禁检测工具

详细介绍:Python 2025年10月最新:多平台域名/小程序封禁检测工具pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

多快省力插件使用帮助说明

本插件使用需要搭配AutoCAD2024使用,其他版本cad不保证使用正常。 中间可能使用了Ps2025、湘源控规9.010、ArcgisPro3.5及CC工具箱。原则上其他工具有方便的功能则不再重复开发。 插件工具目录: 【多图层不变颜色合并…

Java-148 深入浅出 MongoDB 聚合操控:$match、$group、$project、$sort 全面解析 Pipeline 实例详解与性能优化

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

深入解析:vscode-cpptools调试器扩展:监视表达式高级功能

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

免费的vibe coding???

AgentRouter 刷博客园发现了一个公益平台,好像真的是做公益?

人工势场法(APF)路径规划 MATLAB

人工势场法(APF)路径规划 MATLAB2D 平面移动机器人/无人车场景 三连杆机械臂关节空间场景 避障 + 目标吸引可视化 可调 GUI(滑条实时改参数) 常见陷阱(局部极小、振荡)与改进提示一、2D 平面无人车 APF(精简易读…

ABC431 解题报告

A 略。 B 略。 C 很典型的贪心。我们给两个序列降排序后,对每一个身体找到第一个小于它的头部。 D 另一个很典型的贪心。我们先钦定所有部件安装在身体,然后把总重量小于等于 \(\lfloor \dfrac{m}{2} \rfloor\) 的部…

哈佛放屁都是香的?

“我能吞下玻璃而不伤身体”这句话的出处可以追溯到哈佛大学学生Ethan Mollick在1997年创造的一个名为“I Can Eat Glass”的项目‌。 这个项目的初衷是教会人们用非母语说一句简单而地道的话,以令母语者感到惊讶和尊…

使用MATLAB实现平方倍频法对DSSS/BPSK信号进行载频估计

DSSS/BPSK信号模型与平方倍频法原理 信号模型 DSSS/BPSK信号可以表示为: s(t) = Ad(t)c(t)cos(2πf_c t + φ) + n(t)其中:d(t):数据序列(1) c(t):扩频码序列(1) f_c:载波频率(待估计) φ:载波相位 n(t):…