问题标签 [avro-tools]

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 投票
2 回答
10164 浏览

hadoop - 使用 avro-tools 连接 Avro 文件

我试图将 avro 文件合并到一个大文件中,问题是concat命令不接受通配符

我得到:

线程“主”java.io.FileNotFoundException 中的异常:文件不存在:/input/part*

我尝试使用""''没有机会。

0 投票
1 回答
2622 浏览

hive - 执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。无法验证 serde:org.apache.hadoop.hive.serde2.avro.AvroSerde

我正在创建一个avro serde用于存储 twitter 数据的配置单元表。

这是代码-

我收到错误-

我已经尝试将 avsc 文件的输入作为

在本地和 hdfs 文件系统中,我都遇到了同样的错误。

0 投票
0 回答
390 浏览

apache-kafka - 为侦听多个事件的 Kafka 主题编写 Avro IDL 的正确方法是什么?

我们计划在 Kafka 中使用单个主题,我们将在其中发布与域相关的事件。IDL 定义类似于:

所以我们有一个单一的渠道和多种类型的流经该渠道。所有编码都是使用SpecificRecordBase派生类完成的。

我认为现在我们有几个选择:

  • 使用其关联的模式对每条消息进行编码。缺点是我们为每条消息引入了开销。
  • 在 IDL 定义中创建联合类型KafkaTopicMessage并发送不带模式的消息。然后我不知道使用旧模式编译的客户端会发生什么。希望没有错,但是联合中的这种额外包装对我来说似乎不自然,但在这种情况下它可能是正确的。
  • 让客户选择他们感兴趣的几个模式并在消费者端创建联合模式。生产者将发送没有任何联合的普通模式。我什至不知道这是否可行。

所以问题是,将 Avro 编码与 Kafka 主题消息结合使用时的常见模式是什么?

0 投票
3 回答
2085 浏览

java - java.math.BigDecimal 到 Avro .avdl 文件

我在为 java.math.BigDecimal 类型编写 Avro 模式时遇到问题,我尝试了以下方法:

  1. 基于 Avro 官方文档,我知道我需要自己定义逻辑类型以支持 BigDecimal,但该链接仅在 avsc 中给出示例,我试图在 avdl 中弄清楚。
  2. 基于Avro doc和这个例子,我在avdl下面写了:

`

`

但它不起作用:这个 IDL 模式编译得很好,可以生成一个名为 BigDecimal 的 Java 类,但我不能真正将生成的 BigDecimal 用作 java.math.BigDecimal,这是怎么回事?或者我应该怎么做?

非常感谢

0 投票
1 回答
446 浏览

avro - 使用 AVRO 对字段进行数据转换

我是 AVRO 的新手。我们已经开始使用 AVRO 模式来读取数据。

现在我们有一个用例,我需要在读取时截断数据。

假设我的 avro schcema 是这样的

现在数据是这样的。

当我读取数据时,我想截断 ProductID 字段。在上面的示例中,当我读取 ProductID 是 ABC1234567 时,我想将其截断为 5 个字符 ABC12

我可以在模式中指定任何东西来截断它吗?

0 投票
0 回答
129 浏览

python-3.x - AvroTypeException:在 python3 中编写时

我的avsc文件如下:

我能够解析这个,但是当我尝试如下写这个时,我一直遇到问题。我错过了什么?这是在python3中。我验证它也是格式正确的 json。

我在这里想念什么?

0 投票
2 回答
12588 浏览

json - Avro Schema 格式异常 - “记录”不是定义的名称

我正在尝试使用这个 avro shcema

使用 avro-tools 生成和 avro 文件:

但我收到以下错误消息:

线程“main”org.apache.avro.SchemaParseException 中的异常:“record”不是定义的名称。"customerContacts" 字段的类型必须是定义的名称或 {"type": ...} 表达式。

谁能告诉我为什么记录没有被识别为定义的名称?

0 投票
1 回答
1273 浏览

python - 如何使用 Python Avro api 将 JSON 解析为二进制 Avro 文件?

我可以使用 avro-tools-1.7.7.jar 获取 json 数据和 avro 模式并输出二进制 Avro 文件,如下所示https://github.com/miguno/avro-cli-examples#json-to -avro。但是,我希望能够使用 Avro python api 以编程方式执行此操作:https ://avro.apache.org/docs/1.7.7/gettingstartedpython.html 。

在他们的示例中,他们展示了如何一次将记录写入二进制 avro 文件。

我的用例是一次写入所有记录,就像 avro-tools jar 从 json 文件中所做的那样,只是在 python 代码中。我不想掏空并执行 jar。如果这很重要,这将被部署到 Google App Engine。

0 投票
1 回答
474 浏览

avro - 此 avro 消息有效吗?

我有一些来自 kafka 提供程序的示例 Avro 消息,看起来像这样开始:

ef bf bd 24希望是 2332 字节的模式长度。我无法确认 zigzag varint (为什么永远不会是负数的长度是 zigzaged 的​​?)是正确的值。我认为它在 200K 范围内。

我相信这就是为什么我在使用 avro-tools jar 来 getmeta、getschema 或转换为 json 时遇到问题的原因。

对于 1.8.2 的 Avro Tools 版本或该工具版本的带有 java 1.8.0_102-b14 的平台 Mac OS,这是一个特定的已知问题吗?

这看起来像是被错误编码了吗?因为所有使用这些工具的调用都给了我:

0 投票
3 回答
22197 浏览

java - 如何从 Java 中的 avro 文件中提取模式

如何首先提取模式,然后从 Java 的 avro 文件中提取数据?与问题相同,但在 java 中除外。

我已经看到了如何从 avsc 文件而不是 avro 文件获取架构的示例。我应该往哪个方向看?