问题标签 [avro4s]
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.
json - 从 JSON 模式文件创建 AVRO 模式
我有要解析为 AVRO 架构的 JSON 文件和 JSON 架构。我有点困惑,我是否必须使用 AVRO 文档中定义的数据类型来编写手动 AVRO 模式。
或者是否有任何自动化方法/功能/程序可以完全按照要求工作?
rpc - AVRO 中的数据验证
我是 AVRO 的新手,如果这是一个简单的问题,请原谅。我有一个用例,我使用 AVRO 模式进行记录调用。
假设我有 avro 架构
现在如果输入像
我想对这些字段使用一些正则表达式验证,并且只有当它以如上所示的特定格式出现时,我才想采用此输入。有没有办法在 avro 模式中指定包含正则表达式?
任何其他支持此类的数据序列化格式?
hadoop - Avro Mapreduce 作业失败 org.apache.avro.AvroTypeException
我在减少同时具有字符串和数组值的 avro 文件时遇到了问题。
但是,当我尝试运行作业以获取记录值的数组 [Event_DA] 时,会出现以下异常:
org.apache.avro.AvroTypeException:找到 Event_DA,在 org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:231)期待 Event_DA
结合字符串类型和记录数组时,看起来问题出在输入模式文件上。
请为这些类型的 avro 文件提供带有示例架构文件的宝贵建议。
scala - Scala 中任何类型字段的 Avro 记录
假设我在 Avro 中有一个简单的键值对,其中的值可以是 a float
、double
、int
等string
;
在 Avro 中表示这一点的最佳方式是什么?
- 有一个字节数组,在 Scala 中以某种方式反序列化并推断类型或添加另一个带有元数据的值字段
- 为每个有值的原始类型创建一个自定义记录类型,并使用 Avro 中的通用记录解析
- 为我们希望表示的每个原始值类型创建一个键/值对。
另一个问题是我们如何在 Scala 中表示它。拥有 Any 类型是一件痛苦的事情,知道类型(如果它的数字等)要好得多,而不必到处进行类型测试......
scala - Test.scala:1:未使用的导入包 test.avro
我有这样的小测试课:
使用相关设置:
当我尝试编译它时,我收到以下错误消息:
我看到在avro4s issue tracker上报告了类似的错误,但隐含错误不是未使用的导入。但是那是在版本中1.5.0
-我正在使用版本1.6.1
(并在中间尝试了几个版本来检查这是否不是随机回归)。将 avro4j 导入更改为import com.sksamuel.avro4s._
也无济于事。
另一方面,错误消息与此类似。我使用 Scala 2.11.8,但以防万一我检查更改为 2.11.7 是否有帮助(它没有)。
我还能尝试找出这种奇怪行为的根源是什么?这是我错过的东西还是错误?那么我应该在哪里归档呢?我怀疑这是带有ToRecord
特征宏的东西,但我不能确定。
编辑:删除"-Ywarn-unused-import"
使事情再次起作用-我应该假设它是库中的错误吗?
avro - 使用 AVRO 对字段进行数据转换
我是 AVRO 的新手。我们已经开始使用 AVRO 模式来读取数据。
现在我们有一个用例,我需要在读取时截断数据。
假设我的 avro schcema 是这样的
现在数据是这样的。
当我读取数据时,我想截断 ProductID 字段。在上面的示例中,当我读取 ProductID 是 ABC1234567 时,我想将其截断为 5 个字符 ABC12
我可以在模式中指定任何东西来截断它吗?
scala - Avro4S:反序列化抽象数据类型时出错(找不到 FromRecord 类型的证据参数的隐式值)
我正在使用avro4s
https://github.com/sksamuel/avro4s
我写了这段代码
但是读取二进制数据时出现以下错误
错误:(18, 47) 找不到类型为 com.sksamuel.avro4s.FromRecord[A$A449.this.Drapper] 的证据参数的隐式值,惰性值 = AvroInputStream.binaryDrapper ^ 错误:(18, 47) 不够方法二进制的参数:(隐含证据$13:com.sksamuel.avro4s.SchemaFor[A$A449.this.Drapper],隐含证据$14:com.sksamuel.avro4s.FromRecord[A$A449.this.Drapper])com。 sksamuel.avro4s.AvroBinaryInputStream[A$A449.this.Drapper]。未指定值参数证据 $14。惰性值是 = AvroInputStream.binaryDrapper ^
scala - 有没有办法支持 avro4s 中的模式演变
有没有办法通过AvroInputStream.binary
api 读取 bytesArray 并以某种方式指定 writer 版本?
换句话说,avro4s 是否支持二进制记录的模式演变?
scala - scala中没有apache spark的csv到avro
有没有一种方法可以在不使用 Apache Spark 的情况下将 scv 文件转换为 Avro。我看到大多数帖子都建议使用 spark ,但在我的情况下我不能。我在单独的文件中有一个架构。我正在考虑一些自定义序列化器和反序列化器,它们将使用 Schema 并将 csv 转换为 avro。任何类型的参考都对我有用。谢谢