Apache Avro for c#vs。Microsoft.Avro.Core

时间:2017-10-17 22:03:36

标签: c# apache schema avro

我是avro的新手,我正在尝试在新项目中实现avro架构序列化。我看到有两种不同的NuGet包可用,并想知道两者之间的差异是什么。

  1. 微软的版本:https://github.com/welly87/Apache-Avro-Core(除了hadoop和azure版本之外,找不到任何文档)
  2. Apache的版本1.7.7.2:https://avro.apache.org/docs/1.7.7/api/csharp/index.html
  3. 在给定任何通用模式的情况下,还有任何可用的示例来查看序列化是如何完成的,或者是c#中avro序列化的最佳实践。我看到了很多关于java的信息,但对于c#几乎没有。这两个中哪一个最明智?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

看来Microsoft.Avro.Core软件包已不再处于预发行版本,您可以在microsoft-avro存储库中找到源。

当前没有很多文档,但是有很多unit tests您可以从中收集用法。

具体地说,看看AvroContainerTests,有些测试显示使用Microsoft类型和Apache类型的读写。

原始声明“该库可以生成具有嵌入式架构的可移植文件。该文件格式与Avro容器文件规范兼容,并且可以在各个平台上使用” ,因此对于嵌入式架构,您需要使用 AvroContainer

还有Official Sample Test可以用作起点。