问题标签 [jackson-dataformat-avro]

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.

0 投票
1 回答
696 浏览

hadoop - Hive 上的 Avro 动态架构更改

我有一些数据以 avro 格式 v1 出现并存储在 HDFS 的分区 dt=yyyymmdd 下。
现在数据用两个版本维护,v1和v2在同一个分区下。
为两个不同版本维护一个配置单元表是否可行?

0 投票
1 回答
108 浏览

java - 从原始 avro 模式创建对象

假设我在 avro 中有这样的模式

我应该如何在 java 中从这个模式创建对象?

0 投票
0 回答
355 浏览

hibernate - 如何在处理 AVRO 格式时自定义序列化/反序列化日期字段?

在序列化和反序列化 AVRO 格式的数据时处理日期字段时,我遇到了一个非常奇怪的问题。

我们有一个 JPA 实体定义如下

我们读取 JSON 格式的有效负载,可以在持久化数据之前将其反序列化为上述实体。之后,如果我像这样查询数据库

但是,如果它是 AVRO,则不是 JSON,而是通过 HTTP 将其发送到服务,在那里它被读取并转换为实体并持久化,当记录被持久化时,我会得到状态。但是,如果我运行相同的 SELECT,除非我明确说明,否则我看不到数据

但是,如果我在我的机器上本地运行相同的代码库,它就像一个魅力,但部署到我们的 DIT 和其他区域的相同代码,它不起作用。

有没有人遇到过类似的问题?

我添加了一个代理数据源并启用了 net.ttddyy.dsproxy.support.ProxyDataSource 的日志记录。

当它在本地和远程运行时,日志是完全相同的。

在 JSON 的情况下

在 AVRO 的情况下

我认为,应该有一种方法来注册自定义日期序列化器和反序列化器,就像 JsonDateDeserializer 一样。

0 投票
0 回答
291 浏览

avro - 如何在 AVRO 中有一个 Json 字段?

我有一个像下面这样的 json 记录-:

val warningJson = """{"p1":"{"trasanction_id": 197, "customer_id": 27, "datetime": "1576499008876", "amount": 6094, "state": "SUCCESS"}","p2":"{"trasanction_id": 197, "customer_id": 27, "datetime": "1576499017565", "amount": 547, "state": "SUCCESS"}","p3":"{"trasanction_id": 198, "customer_id": 27, "datetime": "1576499029116", "amount": 6824, "state": "SUCCESS"}"}"""

但是,我希望它解析为 avro 数据记录并传递 scema,如 - :

val outputSchemaStringTestData = """{"type":"record","name":"Warning","namespace":"test","fields":[{"name":"p1","type":"string"},{"name":"p2","type":"string"},{"name":"p3","type":"string"}]}"""

在这里,当我使用以下代码创建通用记录时使用此模式,我可以做到 - :

但是,我使用相同的模式warningJson通过传递使用下面提到的代码进行解析outputSchemaStringTestData,我收到一个错误,如下所述 - :

我的转换代码-:

0 投票
1 回答
1839 浏览

java - 不在 union ["null","int"] Avro 格式 org.apache.avro.UnresolvedUnionException

我有一个 java 程序,它以 avro 格式从 Oracle db 写入数据。我在写作时在日期列上遇到了这个异常

org.apache.avro.file.DataFileWriter$AppendWriteException: org.apache.avro.UnresolvedUnionException: Not in union ["null","int"]: 2020-04-01

我正在使用 avro 1.9.2 版本。下面是架构:

当我将以下模式与字符串一起使用时,它工作正常。

0 投票
0 回答
132 浏览

java - Apache Avro 中的枚举序列化/反序列化失败

json 中的示例枚举值:

avsc 文件中的 Avro 架构:

json 反序列化为org.apache.avro.generic.GenericRecord就好了。但是 GenericRecord 序列化是这样写的:

apache-avro 无法理解此枚举表示。下一个 JSON 到 GenericRecord 的反序列化失败。它报告架构兼容性错误。我们如何调整序列化以使用带有命名空间的格式?

0 投票
0 回答
18 浏览

avro - 在 MySQL/PostGres 中加载 .avsc 和 .avro 文件

我有一个 .avro 和一个 .avsc 文件。如何在 MySQL 或 Postgres 中创建表并加载其中的数据?我试着看一下jackson-dataformats-binary图书馆,但不确定它是否会对我有所帮助。

0 投票
0 回答
20 浏览

java - 如果没有为 Actuator 端点指定 Schema,则无法编写 Avro 输出

我已将 Spring Boot 版本从 2.0 更新到 2.1.2,并为指标启用了执行器端点。但是为执行器端点获取此异常。它适用于以前的版本。

wsmsDefaultHandlerExceptionResolver:已解决 [org.springframework.http.converter.HttpMessageNotWritableException:无法写入 JSON:如果不指定 Schema,则无法写入 Avro 输出;嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException: Can not write Avro output without specified Schema]

使用过的版本

应用程序.yml: