Avro 架构和生成的文件中的十进制数据类型支持

2024-04-26

这个问题涉及 Avro 版本 1.8.1。

我们的 AVRO 模式中有以下字段:

"name" : "sale_price", 
"type" : ["bytes", "null"], 
"logicalType": "decimal", 
"precision": 18, 
"scale": 17,

如您所见,该字段的逻辑类型已定义为decimal.

但是当我们使用avro-maven-plugin,它不会在生成的 Java 源文件中生成正确的数据类型。 相反,它会生成,java.nio.ByteBuffer。 如何在 Java 文件中生成正确的数据类型?

这是我们的插件配置:

<plugin>
    <groupId>org.apache.avro</groupId>
    <artifactId>avro-maven-plugin</artifactId>
    <version>1.8.1</version>
    <configuration>
        <stringType>String</stringType>
        <enableDecimalLogicalType>true</enableDecimalLogicalType>
    </configuration>
</plugin>

如果你想要 BigDecimal 你需要使用版本 1.8.2 并添加enableDecimalLogicalType参数与true您的 pom 文件的值:

<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<executions>
    <execution>
        <id>generate-avro-sources</id>
        <phase>generate-sources</phase>
        <goals>
            <goal>schema</goal>
        </goals>
        <configuration>
            <sourceDirectory>${basedir}/src/main/avro/</sourceDirectory>
            <outputDirectory>${basedir}/generated-sources/main/java/</outputDirectory>
            <enableDecimalLogicalType>true</enableDecimalLogicalType>
        </configuration>
    </execution>
</executions>

有关更多信息,请检查此问题:https://issues.apache.org/jira/browse/AVRO-1847 https://issues.apache.org/jira/browse/AVRO-1847

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Avro 架构和生成的文件中的十进制数据类型支持 的相关文章

  • 编译错误:表达式非法开始

    我正在学习 Java 游戏方面 我买了一本书 里面有一些代码 我尝试复制并测试它 唯一的问题是 当我尝试编译它时 它会出现错误 C Users James Desktop Java gt Javac GamePanel java GameP
  • 同步不经常更新的哈希图的最佳方式

    我有一个在应用程序中使用的 HashMap 数据是在应用程序初始加载期间从数据库填充的 然后它始终只是读取并且从不更新 会有多个线程不断地读取数据 由于数据永远不会更新 因此我们目前不使用任何同步 仅使用 HashMap 我们现在定义的方式
  • ModelMapper:匹配多个源属性层次结构

    我无法解决 modelMapper 错误 您知道问题出在哪里吗 注意 鉴于 java sql Time 没有无参构造函数 我没有找到比编写转换器更好的方法 org modelmapper ConfigurationException Mod
  • java.library.path 中没有 ocijdbc12

    我正在尝试使用 OCI 驱动程序通过 java 程序连接到 oracle 以下是配置 Windows 7 32 位 JDK 1 7 Oracle 客户端 11g R2 ojdbc7 jar在我的独立应用程序的类路径中 但我收到以下异常 Ex
  • 访问注释中的属性值

    我想访问注释中的属性值 作为属性的值 对于前 在我的属性文件中 我有一个条目表达式 3 10 在我的 Scheduler 类中 我使用注释 Scheduled cron VALUE 我想从表达式键对应的属性文件中读取这个值 尝试这样做 Va
  • 从java程序调用SVN命令

    我想从 java 程序调用 SVN 命令 update commit 有什么帮助吗 SVN 乌龟SVN 环境 java程序将在jBoss服务器内运行 从应用程序服务器内使用 GUI SVN 客户端是一个非常非常糟糕的主意 而Tortoise
  • IntelliJ IDEA 中的自动错误检测

    我是 Java 编程语言和 IntelliJ IDEA 2017 1 IDE 的新手 我刚刚安装了 IDE 并激活了所有各种检查 但每当我犯了错误 例如省略括号或分号 时 IDE 都无法检测到错误 此图像显示激活的检查 This is a
  • 使用 Google Guava 进行不区分大小写的排序

    目前 我在两个不同的地方使用以下两段代码来创建一个排序的 不可变的列表 return Ordering natural immutableSortedCopy iterable and return Ordering usingToStri
  • 为什么 Eclipse 要求我在 java 代码中设置(任意)括号?

    我目前正在尝试弄清楚如何使用 Eclipse 在 java 中对 Escape 模型进行编程 我对 Escape 和 Eclipse 很陌生 自从我用 java 编程以来已经有一段时间了 所以如果这是一个愚蠢的问题 请原谅 基本上 我一直被
  • HttpServletRequest.getRemotePort() 在同一台机器上收到的每个 http 请求返回不同的端口?

    我需要识别注册到我的服务的客户端的远程 IP 和端口 此外 当客户端 Web 应用程序出现故障时 它会从我的 Web 服务中取消注册 我在用HttpServletRequest getRemoteAddress and HttpServle
  • 使用 setcap 功能运行时 JLI_InitArgProcessing 的 Java“符号查找错误”

    我们在服务器上安装了 Java 11 旨在监视网络接口的流量 初始安装后 yum install java 11 openjdk devel x86 64 the java命令对两者都适用root and a 普通用户 但是 我们的 Jav
  • 查看两个对象是否具有相同的类型

    假设我有一个类 A 并且 B C D 都是从 A 派生的 如果我想知道引用的对象的类型是什么 我可以声明 pseudo code if obj instanceof B lt is B gt else if obj instanceof C
  • jsoup 的奇怪编码行为

    我用jsoup从不同页面的html源代码中提取一些信息 大多数都是UTF 8编码的 其中一个是用 ISO 8859 1 编码的 这会导致一个奇怪的错误 在我看来 包含错误的页面是 http www gudi ch armbanduhr me
  • “Java”“List”方法“size”如何工作?

    在Java中 有一个List接口和size 计算尺寸的方法List 当我打电话时List size 怎么算呢 是线性计数 还是确定计数后只返回值size 大小定义为列表中元素的数量 该实现未指定 size 成员函数如何操作 迭代成员 返回存
  • org.apache.http.entity.FileEntity 在 Android 6 (Marshmallow) 中已弃用

    我正在将应用程序升级到 API 23 其中org apache http已弃用 我当前 已弃用 的代码如下所示 HttpClient httpClient new DefaultHttpClient File file new File a
  • Java 中的冒号是什么意思?

    Java 中的冒号是什么意思 我有这个 public static List
  • 在 Java 中加载和缓存图像的最佳方法是什么?

    我有超过一千个 16 x 16 像素图块图像的大量集合 我在 Java 中制作的游戏需要这些图像 在不耗尽 JVM 可用内存的情况下存储切片的最佳方法是什么 我认为生成 1000 BufferedImages 可能并不明智 保持图像准备就绪
  • hibernate session.flush 和 spring @transactional

    我在我的应用程序中使用 Spring 和 Hibernate 并使用 Spring Transaction 所以我有一个带注释的服务层 Transaction方法和 DAO 层具有数据库查询方法 Transactional readOnly
  • 压缩 Log4j 文件

    是否可以压缩日志文件 我通过 RollingFileAppender 进行 log4j 附加功能 http logging apache org log4j extras 对此表示支持 只需将以下内容添加到您的RollingFileAppe
  • 在Java中,如何在每次进入或退出给定对象的监视器时记录一条消息?

    我正在尝试调试一些使用一些自定义引用计数 锁定的 C Java 绑定 我想让 JVM 在每次给定对象进入或退出其监视器时打印一条消息 有什么办法可以做到这一点吗 基本上 我想要这个 synchronized lock System out

随机推荐

  • 缩放电缆表以适合页面宽度

    如何使用 kable 函数格式化 pdf 中的表格 因为我的输出表格宽度超过了pdf的宽度 这是一个例子 output pdf document r df lt cbind mtcars 1 5 mtcars 1 5 knitr kable
  • AJAX + SEO 快速问题

    当用户希望在页面加载之间发生效果 即旧内容淡出然后新内容返回 时 我通常按如下方式构建网站 index php about php 等
  • 如何从 kubernetes 集群内部访问主机的 localhost

    在此应用程序中 nodejs pod 在 kubernetes 内部运行 而 mongodb 本身作为 localhost 位于主机外部 这确实不是一个好的设计 但它只适用于开发环境 在生产中 将有一个单独的 mongodb 服务器 因为这
  • jQuery 中两个数组的合并、存储唯一元素和排序

    var Arr1 1 3 4 5 6 var Arr2 4 5 6 8 9 10 我正在尝试合并这两个数组 输出是 1 3 4 5 6 4 5 6 我用过 merge Arr1 Arr2 这一块将它们合并 使用警报我可以看到像上面这样的合并
  • 搜索拥有超过十亿条记录的数据库的最有效方法?

    我的客户有一个巨大的数据库 仅包含三个字段 主键 无符号数 姓名 多字文本 描述 最多 1000 个 varchar 该数据库拥有超过数十亿条条目 我以前没有处理如此大量数据的经验 他希望我设计一个使用 AJAX 如 Google 的界面来
  • 具有自托管代理的 Azure DevOps Pipeline for Java 项目

    我们有一组使用不同 JDK 版本开发的 Java 项目 项目中使用了不同版本的 Gradle 和 Maven 我们应该使用以下命令创建 Azure DevOps PipelineSelf Hosted Agent截至目前 构建代理服务器已随
  • Visual Studio 2015 - C# Windows 通用应用程序缺少程序集引用

    今天 我将我的 Windows 通用应用程序项目从 github 克隆到运行新安装的 Visual Studio 2015 的新计算机上 项目加载后 我注意到我的所有页面和属性都带有红色下划线 并且有许多错误 CS0246 C The ty
  • Microsoft 的 STL::list::sort() 使用哪种排序算法?

    注 我不小心发帖了这个问题 https stackoverflow com questions 1717773 which sorting algorithm is used by stls listsort没有指定我正在使用哪个STL实现
  • John Resig 的 Javascript 继承片段是否已弃用?

    我正在寻找一种简单的方法来创建两个类 一个类继承另一个类 子类重新定义父类的方法之一 并在新方法中调用父类的方法 例如 有一个班级Animal and Dog 其中 Animal 类定义了一个方法makeSound 它建立了如何输出声音 然
  • 如何处理Kafka流中的不同时区?

    因此 我正在评估 Kafka Streams 及其功能 看看它是否适合我的用例 因为我需要每 15 分钟 每小时 每天聚合传感器数据 并发现它由于其窗口功能而很有用 因为我可以通过应用创建窗口windowedBy on KGroupedSt
  • CSS 可调整大小的带标题的图像

    我正在尝试获取并排显示的两个图像的 HTML 布局 并填充页面 同时保持其纵横比并保持图像彼此相邻 即不在页面每一半的中心 我还想要顶部有一个标题 我几乎已经使用下面的 CSS hackery 实现了这一目标 目前它看起来像这样 如果我水平
  • 使用python远程执行shell脚本

    有没有一种方法可以让我在 Windows 上使用 Python 来执行位于远程 Unix 计算机上的 shell 脚本 P S 抱歉编辑晚了 我确实知道 Paramiko 但我想知道是否有办法在没有它的情况下做到这一点 对于初学者来说 可以
  • Roslyn 脚本:运行时异常的行号信息

    我正在摆弄 Roslyn 脚本的东西 使用Microsoft CodeAnalysis CSharp Scriptingnuget 包 我想知道是否有一种方法可以将行号信息添加到堆栈跟踪中 以了解脚本内发生的异常 当我运行以下 C 代码时
  • 如何执行更新UI视图Android的后台作业[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在我的 Android 应用程序中 我有一个带有视图的活动 例如 在活动开始或创建主布局时 我想启动一个后台作业 每 5 秒从主布局更
  • CLOB 与 VARCHAR2 以及还有其他替代方案吗?

    我正在为我的应用程序使用 DevArt 的 dotConnect 和 Entity Developer 我已经使用实体优先功能创建了表 我注意到许多列类型都设置为 CLOB 我只有 MySQL 和 Microsoft SQL Server
  • 如何在按下/单击 TextField 时使用 TextFieldValue (带 FocusRequester)将光标设置到文本的任何部分

    我试图环顾四周 但找不到办法 force a focus set the cursor到文本末尾 并且仍然能够设置cursor到文本的任何部分时 按下 点击 With FocusRequester光标设置在文本的开头 但是TextField
  • Spring框架中Service和DAO接口的主要用途是什么?

    我是 Spring 框架的新手 我在谷歌上搜索了很多关于 spring mvc 的网站 我注意到为每个服务和 dao 创建了接口 但我有一些疑问如下 1 为每个service和dao创建接口的主要目的是什么 2 spring mvc的项目结
  • SQL Server VSS 编写器拒绝启动

    我已在 Windows 7 64 位计算机上安装了 Visual Studio 2012 我正在尝试安装 SQL Server Express LocalDB 但当安装程序尝试启动服务时出现错误 这是确切的错误消息 服务 SQL Serve
  • 日期时间类型转换器

    我有下面的代码将字符串转换为 T 类型 它适用于所有其他类型 但当 T 为 DateTime 类型时会出现错误 TypeConverter c TypeDescriptor GetConverter typeof T return T c
  • Avro 架构和生成的文件中的十进制数据类型支持

    这个问题涉及 Avro 版本 1 8 1 我们的 AVRO 模式中有以下字段 name sale price type bytes null logicalType decimal precision 18 scale 17 如您所见 该字