繁体   English   中英

Java / Scala中的随机Avro数据生成器

[英]Random Avro data generator in Java/Scala

是否可以使用org.apache.avro库通过指定的架构生成随机Avro数据? 我需要使用Kafka生成此数据。

我试图找到某种随机数据生成器进行测试,但是,我偶然发现了用于此类数据生成器或GenericRecord用法的工具。 工具不是非常适合我,因为存在特定的文件依赖性(例如读取文件等),并且据我所知,GenericRecord应该一个接一个地生成。

还有Java / Scala的其他解决方案吗?

更新:我找到了此类,但似乎无法从org.apache.avro版本1.8.2访问。

您需要读取文件的原因是,它与Schema相匹配,该Schema定义了需要创建的字段以及类型。

这不是一个硬性要求,并且没有什么可以阻止通过Avro的SchemaBuilder类在代码中创建随机的Generic记录或Specific记录的

例如 ,请参见此仓库,该仓库使用从AVSC模式生成的POJO(再次可以通过SchemaBuilder完成)进入Java类。

甚至链接到的类也使用架构文件

所以我个人可能会结合使用Avro4s( https://github.com/sksamuel/avro4s )和scalscalcks( https://www.scalacheck.orgGen来对此类测试进行建模。

您可以使用scalacheck生成案例类的随机实例,并使用avro4s将其转换为通用记录,提取其模式等。

还有一个avro-mocker https://github.com/speedment/avro-mocker,尽管我不知道插入代码有多么容易。

我只是使用Podam http://mtedone.github.io/podam/生成POJO,然后使用Java Avro库https://avro.apache.org/docs/1.8.1/gettingstartedjava将它们输出到Avro 。 HTML#序列化

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM