问题标签 [avro-tools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在 C# 中将对象序列化/反序列化为 avro
我正在使用 json.net 将 pojo 类序列化/反序列化为 json,然后将其发送到 rabbitmq。现在我想使用 apache avro 格式的二进制数据来做同样的事情。如何在 c# 中序列化/反序列化对象?
json - 使用 AVRO 模式验证 JSON 有效负载,特别是对于“固定”数据类型
JSON有效负载:
AVRO 架构:
在验证它给我以下错误时,我应该在 PlanType 字段的 json 有效负载中写什么?实际上这就是我正在探索的所有内容,因为我想为类似于 XML 模式的 AVRO 模式中的字段定义最大长度和最小长度。
java - Apache Avro 没有生成 UUID
无论我尝试什么,Avro 都不会在代码中为字段生成 UUID 类。
版本:1.8.2 和 1.9.1
我试图用这样的模式生成 UUID:
这是来自 Avro 项目测试类的类TestReflectLogicalTypes
::RecordWithUUID
所以,简而言之,这是 Avro 用来测试其代码功能的模式示例,我希望它应该可以工作。
我这样运行以从我的方案中获取 java 代码:
java -jar avro-tools-1.8.2.jar compile schema my_scheme.avsc .
java -jar avro-tools-1.9.1.jar compile schema my_scheme.avsc .
Avro的初始类代码是这样的:
这是我生成后得到的代码:
1.8.2 来自命令行的 avro-tools
1.9.1 来自命令行的 avro-tools
avro 1.8.2/1.9.1 的 maven 插件
那么,这是一个错误还是我做错了什么?
maven - Maven 从依赖 jar 导入 avro 定义
我有两个使用 avro-maven-plugin 进行代码生成的 maven 项目。我面临的问题是其中一个项目有一个 avro 对象,该对象使用对来自第二个 maven 项目的另一个 avro 对象的引用。尽管我将第二个项目生成的 jar 包含为 maven 依赖项,但我无法找到为第二个项目生成代码的方法。
本质上考虑我的第二个项目具有如下所示的 avro 定义的情况
在此定义中,它指的是 AvroDefinition.avsc ,它包含在一个依赖项 jar 中,但我找不到任何方法来提取 AvroDefinition.avsc 并将其用于第二个项目中的代码生成。顺便说一句,avro-maven-plugin 已设置如下:
我得到的错误如下:
无论如何,我希望我可以使用 maven 远程资源插件,但我无法让它工作,所以我的问题是这怎么可能?如何从依赖 jar 导入 avro 定义以生成我的代码?
avro - 拆分 Avro 文件?
Avro-Tools包提供了一种将多个 avro 文件连接在一起的简单方法,但是似乎没有一种简单的方法来分割文件。
有谁知道允许拆分 Avro 文件的简单命令行工具?
serialization - 存储 Apache Avro 模式的其他位置,而不是类路径
也许有人已经问过这个问题,但经过一些搜索,我仍然找不到答案。
我有多个 Spring Boot 应用程序,它们应该通过事件流和 REST 调用相互通信。为了强制 DTO 的一致性,我想使用 Apache Avro 生成 Java 类,但我不知道在哪里存储 Avro 模式。
假设 App1 应该调用 App2,因此 App2 生成 DTO 模式,App1 将使用这些模式来使用其数据。我在哪里可以存储 App1 的模式,以便 App2 可以使用它们生成所需的 Java 类。
同样,App1 在 Redis 上发布消息,其他读取这些消息的应用程序需要使用 Avro 模式反序列化为 Java 对象,如果我可以将这些模式集中在某个地方,那将非常有用。
我使用 Maven 和 Avro maven 插件。
非常感谢你的帮助。
c++ - avrogencpp 可以为模式中的每种类型生成单独的头文件吗?
我有两种类型“公司”和“用户”,它们都包括一个通用类型“地址”,并且正在尝试生成 cpp 头文件。我尝试了多种方法,但最终在两个不同的头文件中多次定义了“地址”结构。avrogencpp 可以为每种类型生成一个标头,而不是将所有内容都放在一个文件中吗?
这是我能做到的:
1)创建sample.avdl
2)使用avro-tools生成架构文件:avro-tools idl2schemata sample.avdl
3)使用avrogencpp生成头文件:
现在,问题是employee.h 和company.h 的乘法定义struct Address
,因此无法一起编译。
java - AVRO Java 生成器 - 生成为 int 的日期
我正在使用 maven 插件 avro-maven-plugin (1.9.2) 从 AVRO-schema-file (avsc) 生成 Java 类。我正在定义一个日期字段,如下所示:
我面临的问题是,它生成一个int而不是Date或LocalDate。
pom.xml 配置定义如下:
任何想法,有什么问题?
java - 如何使用 avro-tools-1.9.1.jar IDL 生成 {"type":"string","avro.java.string":"String"} 类型的字段?
我们有 JAVA gradle avro 插件 (davidmc24/gradle-avro-plugin) 生成 shema,并使用默认的 stringType 字符串,它将像这样生成 JAVA POJO:
然后我们使用相同的avdl文件生成C#包,我们的解决方案是首先使用avro-tools-1.9.1.jar生成avsc文件,它将像这样生成avsc
我们有一个 C# producer 和 java consumer,在这种情况下,batchName 不能在 JAVA consumer 端反序列化,我们得到以下错误:
org.apache.avro.util.Utf8 cannot be cast to java.lang.String
所以,我的猜测是shema不同步,你能帮忙指出如何让avro-tools-1.9.1.jar也生成类型为avro.java.string关键字的字段,所以我们可以谢谢!
json - 为字节类型创建示例 Avro 数据
我正在尝试创建一个.avro
包含bytes
as type 和decimal
aslogicalType 的示例文件,但是avro
加载到 hive 表时该文件会产生不同的值。可能是什么原因?
架构.avsc:
数据.json:
转换为.avro
使用avro-tools
:
加载data.avro
并查询 hive 表后:
关于 SO 的类似问题:create json representation for decimal logical type and byte types for avro schema