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

hadoop - Hadoop - 如何从实现可写接口切换到使用 Avro 对象?

我正在使用 Hadoop 将 JSON 转换为 CSV 文件,以便使用 Hive 访问它们。

目前,映射器正在填充自己的数据结构,用 JSON-Smart 解析 JSON。然后,reducer 读取该对象并将其写入文件,以逗号分隔。为了使这更快,我已经在数据结构中实现了可写接口......

现在我想将 Avro 用于数据结构对象以具有更大的灵活性和性能。如何更改我的类以使它们交换 Avro 对象而不是可写对象?

0 投票
1 回答
1358 浏览

hbase - HBase 不同的客户端

我正在做一个项目,我想从 HBase 系统中读取数据。我读到有各种可用的 HBase 客户端,默认的 Java 客户端、Thrift、Avro 等。

现在我很困惑,如果我选择默认的 Java 客户端,那么我是否能够使用 thrift 客户端读取存储在 HBase 中的数据?

我想了解,如果我使用 thrift 客户端从 HBase 读取数据,那么它将使用 thrift 反序列化器将数据从二进制类型转换为适当的类型?如果这是真的,那么如果我使用 HBase 默认客户端读取,使用节俭客户端加载的数据将被损坏?

谢谢你的帮助!!~罗希特

0 投票
1 回答
1059 浏览

node.js - Flume Avro 可以下沉到 Node.js 服务器吗?

第一次在这里的 Stack Overflow 提问者......将尝试包含尽可能多的细节。

我正在尝试通过 Avro 接收器将 Apache Flume 日志数据传输到 Node.js 服务器,并在特定端口上进行侦听。我打算使用Collective Media 的 node-avro 库来帮助在 Avro 的二进制格式和 JSON 之间进行序列化,这样我就可以处理 Node.js 中的数据(我通过socket.io pub/sub 将它传递给客户端)。

我很确定我已经正确配置了 Flume,因为我看到数据流过通道并输出到控制台(仅用于调试,我也将数据下沉到控制台)。但是,当我启用 Avro 接收器并启动侦听同一端口的 Node.js 服务器时,Flume 在尝试进行 Avro 传输时会引发异常:

我不确定的是如何确定我的 Node.js 服务是否至少收到了消息。我对 Node.js 很陌生,所以这无济于事,但这是设置侦听器的代码片段:

我在想我错误地设置了 Node.js 端。我正在使用 HTTP 模块,它可能不是正确的模块。也许我需要考虑在 Node.js 中编写自定义接收器?指针/帮助表示赞赏!

0 投票
3 回答
4483 浏览

c++ - 如何编译 Apache Avro C++ 示例

可能是新手的错误,但是谁能告诉我我在这里做错了什么?
任何帮助深表感谢。

我写了这个简单的 Makefile:

这会产生这些错误:

这是 Avro 示例目录中提供的源代码:

谢谢。

0 投票
1 回答
1313 浏览

java - 从大型 ByteArrayOutputSteam 了解 Avro 反序列化

我的印象是 aByteArrayOutputStream的内存效率不高,因为它的所有内容都存储在内存中。

同样,调用toByteArray大流似乎“扩展性很差”。

那么,为什么在 Tom White 的书Hadoop: the Definitive Guide中的示例中的示例中同时使用它们:

“大数据”不是 Avro 的标准吗?我错过了什么?

编辑 1:我正在尝试做的事情- 假设我正在通过 websocket 流式传输 avros。如果我想反序列化多条记录,而不仅仅是放入它自己的一条记录,该示例会是什么样子ByteArrayOutoputStream

有没有更好的方法来提供BinaryDecoder字节 []?或者也许是不同类型的流?或者我应该为每个流发送 1 条记录,而不是加载具有多条记录的流?

0 投票
0 回答
1165 浏览

hadoop - 使用带有 .mapreduce 的 Avro 1.7.4 特定 API 时出错

我正在尝试编写一个采用 Avro 1.7.4 文件的 Mapper(使用 .mapreduce)api。我正在使用特定的 API(maven avro 插件)从 .avdl 文件生成我的对象。

我已验证 Avro 文件已正确生成,并且可以使用 Avro 工具 jar 中的 avro-to-json 函数来读回文件。

我收到的错误是:

驱动类如下:

公共类 RollupAvroFiles 扩展配置实现工具{

}

Mapper 类内容如下:

任何想法将不胜感激

0 投票
1 回答
938 浏览

python - Hadoop Streaming 破坏了 Python 生成的 Avro

我有一个相当简单的脚本,它以 JSON 格式获取 Twitter 数据并将其转换为 Avro 文件。

从那里,我使用它来提供一个基本的 Hadoop Streaming 脚本(也在 Python 中),它只是提取推文的某些元素。但是,当我这样做时,脚本的输入似乎是损坏的 JSON。通常 JSON 会在推文正文或用户定义的描述中间出现一些错误的 \u 失败。

这是我用来调用 Hadoop Streaming 的 bash 脚本:

我正在拉扯我的头发试图解决这个问题。任何建议都会非常感激。

0 投票
4 回答
3606 浏览

hadoop - 序列化中带有 Avro NullPointerException 的 MRUnit

我正在尝试使用 MRUnit 测试 Hadoop .mapreduce Avro 作业。我收到如下所示的 NullPointerException。我附上了一部分 pom 和源代码。任何援助将不胜感激。

谢谢

我得到的错误是:

pom片段:

这是测试的摘录:

0 投票
3 回答
11583 浏览

avro - Avro 架构演变

我有两个问题:

  1. 是否可以使用相同的阅读器并解析用两个兼容的模式编写的记录,例如Schema V2只有一个额外的可选字段,Schema V1并且我希望读者理解两者?我认为这里的答案是否定的,但如果是,我该怎么做?

  2. 我尝试使用 写入记录Schema V1并读取它Schema V2,但出现以下错误:

    org.apache.avro.AvroTypeException:找到 foo,期待 foo

我使用了 avro-1.7.3 并且:

以下是这两种模式的示例(我也尝试过添加命名空间,但没有成功)。

架构 V1:

架构 V2:

提前致谢。

0 投票
1 回答
1294 浏览

java - 在 Avro 的反射中使用泛型

在下面的代码中:

我想取消构造函数中的字段“type”,因为 type=T.class。如果只有编译器接受 getSchema(T.class) !

一个建议是使用:

我收到此错误: