问题标签 [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 回答
1421 浏览

python - 当消息包含多条消息时编译 avro 模式(python)

我使用import avro等来在 python 中编译 avro 模式。有时,我的 avro 架构如下所示:

请忽略错别字。我只是想传达信息。要点是我有两个 avro 模式。其中一个 avro 模式使用第二个 avro 模式作为其字段之一。如何调用avro.schema.parse(....)此类 avro 消息以便正确编译它们?

0 投票
1 回答
2820 浏览

asynchronous - 如何:使用带有 Avro 的 Netty 进行异步回调

我正在尝试通过使用其 NettyServer 实现来实现异步 Avro 调用。挖了源码后,从TestNettyServerWithCallbacks.java中找到了一个如何使用NettyServer的例子

在运行一些测试时,我意识到 NettyServer 从不调用 hello(Callback) 方法,而是一直调用同步的 hello() 方法。客户端程序打印出“Hello”,但我期待“Hello-ASYNC”作为结果。我真的不知道发生了什么。

我希望有人能对我有所启发,并指出错误。下面是我用来执行简单异步 avro 测试的代码。

AvroClient.java - 客户端代码。

AvroNetty.java - 服务器代码

ChatImpl.java

该界面由 avro-tool Chat.java 自动生成

这是 Avro 架构

0 投票
1 回答
29108 浏览

arrays - avro 模式中的可选数组

我想知道是否可以有一个可选数组。让我们假设这样的模式:

尝试在没有“simple_array”的情况下写入 avro 记录会导致数据文件写入器中出现 NPE。对于子记录,这很好,但是当我尝试将数组定义为可选时:

它不会导致 NPE 而是运行时异常:

谢谢。

0 投票
1 回答
2099 浏览

java - 创建 SpecificDatumWriter 时出现 NullPointerException

在通过 Tom White 的书 Hadoop: The Definitive Guide 学习 Apache Avro 时,我遇到了一个错误。

该示例有 3 个步骤:

  1. 创建 Avro 架构文件 ( Pair.avsc)

    /li>
  2. 编译模式文件以创建一个 Java 类 ( Pair.java) 使用

    $ java -jar $AVRO_HOME/avro-tools-1.6.2.jar compile schema src/main/resources/Pair.avsc src/main/java/

  3. 使用SpecificDatumWriter<Pair>andSpecificDatumReader<Pair>序列化/反序列化数据。

原始示例方法testPairSpecific()位于https://github.com/tomwhite/hadoop-book/blob/master/avro/src/main/java/AvroTest.java中。

我重写了示例代码(createPairAndSerializeThenDeserialize()https://github.com/philipjkim/avro-examples/blob/master/src/test/java/org/sooo/AvroTest.java中),这与原始代码几乎相似。不同之处在于:

  1. 我使用的 Avro 版本是 1.6.2,原来是 1.3.2。
  2. Pair.javaavro-tools.jar 创建的内容不同(原文: https ://github.com/tomwhite/hadoop-book/blob/master/avro/src/main/java/Pair.java ,我的:https:// github.com/philipjkim/avro-examples/blob/master/src/main/java/org/sooo/Pair.java

运行测试后,我得到一个错误:

AvroTest.createPairAndSerializeThenDeserialize()是:

我想知道这个例子有什么问题。感谢您的任何评论。

仅供参考,我的示例项目回购是https://github.com/philipjkim/avro-examples

0 投票
2 回答
2210 浏览

hadoop - 具有纯文本输入和 avro 输出的 mapreduce 作业

我对使用 Avro 和 map reduce 感到很困惑,并且找不到好的教程。

当输入和输出都是 Avro 数据文件时,像 AvroJob 和 AvroMapper 这样的类似乎是为解决问题而设计的。当您的输入只是纯文本时怎么办?

具体来说:

我的映射器将 LongWritable 键和 Text 值作为输入。它发出 Text 键和 MyAvroRecord 值。

我的 reducer 将 Text 键和 MyAvroRecords 的 Iterator 作为输入,并发出 Text 键和 MyAvroRecord 值。

如何获得将这些 Text 键和 MyAvroRecord 值写入文件的 OutputFormat?

干杯,戴夫

0 投票
1 回答
2638 浏览

maven - Maven:从 github 下载依赖源的插件?

我有一个依赖于的构建,com.odiago.avro:odiago-avro:jar:1.0.5我无法在任何存储库中找到预构建的。

源代码在 github 上可用。是否有一个 maven 插件我可以用来让 maven 下载和构建依赖项,还是我需要手动下载和安装它?

0 投票
3 回答
4100 浏览

java - Apache AVRO 如何序列化(大型)数据结构

我正在考虑在 hadoop 上使用 AVRO。但我关心大型数据结构的序列化以及如何向(数据)类添加方法。

该示例(取自http://blog.voidsearch.com/bigdata/apache-avro-in-practice/)显示了 facebook 用户的模型。

avro 是否在此模型中序列化 facebookuser 的完整社交图?

[即如果我想序列化一个用户,序列化是否包括它的所有朋友和他们的朋友等等?]

如果答案是肯定的,我宁愿存储朋友的 ID 而不是参考,以便在需要时在我的应用程序中查找。在这种情况下,我希望能够添加一个返回实际朋友而不是 ID 的方法。

如何包装/扩展生成的 AVRO java 类以添加方法?

(还添加返回例如朋友计数的方法)

0 投票
2 回答
1061 浏览

python - 当包含的 Writer() 关闭它时,我还能使用 StringIO 吗?

我正在使用Python avro 库。我想通过http发送一个avro文件,但我并不特别想先将该文件保存到磁盘,所以我想我会使用StringIO来存放文件内容,直到我准备好发送。但是 avro.datafile.DataFileWriter 周到地为我关闭了文件句柄,这让我很难从 StringIO 中取回数据。这就是我在代码中的意思:

我确实有一些我可以使用的解决方法,但它们都不是非常优雅。关闭后有什么方法可以从 StringIO 获取数据?

0 投票
1 回答
2700 浏览

hadoop - 一起使用 MRUnit 和 AVRO

我创建了一个 Mapper & Reducer,它使用 AVRO 作为输入,map-output 和 reduce 输出。创建 MRUnit 测试时,我得到以下堆栈跟踪:

驱动程序初始化如下(我创建了一个 Avro MapReduce API 实现):

使用 io.serialization 添加配置对象无济于事:

我使用来自 Cloudera 的 Hadoop 和 MRUnit 0.20.2-cdh3u2 和 Avro MapRed 1.6.3。

0 投票
3 回答
14352 浏览

json - AVRO 验证

我对 AVRO 相当陌生,所以如果我遗漏了任何明显的东西,请原谅。是否有根据 AVRO 模式验证输入的 AVRO 验证器/命令行实用程序?或者可能指向错误在 json 输入中的位置。