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

python - 如何使用 Avro 处理我无法查找的流?

我正在使用 Avro 1.4.0 通过 Python avro 绑定和 boto S3 库从 S3 中读取一些数据。当我在文件上打开 avro.datafile.DataFileReader 时,例如 boto 返回的对象,它在尝试 seek() 时立即失败。现在我正在通过将 S3 对象读入临时文件来解决这个问题。

我希望能够通过任何支持 read() 的 python 对象进行流式传输。有人可以提供建议吗?

0 投票
6 回答
38608 浏览

protocol-buffers - Apache Thrift、Google Protocol Buffers、MessagePack、ASN.1 和 Apache Avro 之间的主要区别是什么?

所有这些都提供二进制序列化、RPC 框架和 IDL。我对它们之间的主要区别和特性(性能、易用性、编程语言支持)感兴趣。

如果您知道任何其他类似的技术,请在答案中提及。

0 投票
2 回答
478 浏览

database - Cassandra + PHP 的惯用客户端库?

在这段视频中(29:00),来自 Rackspace 的 Eric Evans 告诉观众,使用 Thrift 和 Avro 是一个坏主意。相反,他提倡使用惯用客户端库。

http://video.disruptivecode.com/video/840645/what-makes-cassandra-trick

我们主要使用 PHP 进行编码。我们如何在没有 Thrift 或 Avro 的情况下将 PHP 与 Cassandra 连接起来?

Eric 提到的惯用客户端库是:

  • Pelops, Hector (Java)
  • 皮卡萨 (Python)
  • 卡桑德拉(红宝石)
  • 其他……还有哪些?
0 投票
1 回答
8463 浏览

avro - 使用 GenericRecord 在 Avro 中填充嵌套记录的问题

假设我有以下架构:

我正在使用 GenericRecord 来表示创建的每个配置文件。要添加名字,很容易做到以下几点:

但是,例如,我将如何设置城市?如何将密钥表示为 r.put 方法可以理解的字符串?

谢谢

0 投票
4 回答
11550 浏览

mapreduce - Avro 入门

我想开始使用 Avro 和 Map Reduce。有人可以建议一个很好的教程/示例来开始。我无法通过互联网搜索找到太多。

0 投票
3 回答
20741 浏览

file - Writing to Avro Data file

The following code simply writes data into avro format and reads and displays the same from the avro file written too. I was just trying out the example in the Hadoop definitive guide book. I was able to execute this first time. Then I got the following error. It did work for the first time. So I am not sure wat mistake i am making.

This is the exception:

This is the code:

The following is the Pair.avsc file [ given in the book's example code]

0 投票
0 回答
697 浏览

hadoop - 使用 thrift/avro 进行 hadoop 作业在 Java 和 C++ 之间进行通信

现在我们在 Java 中有一个 Hadoop 作业,它正在处理一些 C++ 二进制文件。我们将文件写入 NFS 和 C++,Java 读取它们,这是我们的通信形式,它阻止我们扩展。我正在研究 Proto Buff、Thrift 和 Avro 以摆脱 NFS 的影响。这种方法肯定会比 NFS 方法更好,对吧?

0 投票
2 回答
2896 浏览

python - avro的python实现很慢?

我正在使用 avro 库从 avro 文件中读取一些数据。从文件加载 33K 对象大约需要一分钟。这对我来说似乎很慢,特别是 Java 版本在大约 1 秒内读取相同的文件。

这是代码,我做错了吗?

0 投票
5 回答
1498 浏览

java - JSON解码问题

我正在尝试解码 Java 程序(杰克逊)的 JSON 输出并遇到一些问题。问题的原因是以下代码段:

这导致ValueError: Invalid \uXXXX escape.

有想法该怎么解决这个吗?

编辑:输出来自 Avro 文件,Avro 包使用 jackson 将记录作为 JSON 发出。
EDIT2:在源文件中查看之后,可能是手动构造 JSON 的情况(对不起,杰克逊)。

0 投票
2 回答
1497 浏览

c++ - 如何使用 Apache Avro(python 脚本)生成 C++ 标头

我有兴趣使用 Apache Avro 的代码生成工具(即 python 脚本)生成 C++ 标头。根据文档,它应该很容易做到,但我通常不使用 python,所以对我来说事情看起来有点奇怪。

指令状态:

生成代码是一个两步过程:

预编译步骤将模式转换为代码生成器使用的中间格式。这个中间文件只是模式的基于文本的表示,通过模式类型的树结构的深度优先遍历来展平。

这告诉代码生成器读取您的展平模式作为其输入,并在 example.hh 中生成一个 C++ 头文件。可选参数命名空间会将对象放在该命名空间中......

我的问题(不,我不能去看医生或使用面霜):

我没有看到任何详细解释如何预编译的内容。文档看起来好像我只是在命令提示符下键入“预编译”并提供命令行参数,那么事情就会神奇地工作,但预编译不是有效的 Windows 命令。那么在 Windows 上预编译的正确方法是什么?如果有人知道怎么做,请告诉我!

我还尝试运行gen-cppcode.py脚本,但它在第 316 行出现错误(我怀疑这可能是因为我没有预编译架构而发生的):