问题标签 [fastavro]

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 回答
574 浏览

python - 如何让 fastavro 支持逻辑类型?

我正在尝试在 Avro 中使用逻辑类型,使用 Python fastavro库进行读写,但logicalType注释似乎根本没有效果。下面的代码取自fastavro页面;根据当前的 Avro 规范,我通过使用逻辑类型time-millis对其进行注释来更改模式定义中的时间字段。(附带说明,我看到人们使用TIMESTAMP_MILLIS,但我不知道为什么,因为 Avro 页面有time-millis.) 当我运行这段代码时,我在 stdout 中看到的输出与没有逻辑类型注释的相同代码的输出完全相同。我期待看到一些看起来像时间的东西——例如13:14:15.1234。然而,上面引用的fastavro页面声称fastavro现在支持 Avro 逻辑类型。我怎样才能让它这样做?谢谢!

到 stdout 的输出,无论logicalType注释是存在还是删除,都是相同的:

“站”:“011990-99999”,“时间”:1433269388,“温度”:0}

我可以看到输出文件中的模式在两个版本之间是不同的:

指定logicalType

logicalType指定:

但这对输出没有影响。

0 投票
1 回答
1373 浏览

python - fastavro - 将 json 文件转换为 avro 文件

对 avro 和 python 有点新。

我正在尝试使用 fastavro 库对 avro 进行简单的转换,因为本机 apache avro 库的速度有点太慢了。

我想要:

1.获取一个json文件 2.将数据转换为avro。

我的问题是,我的 json 似乎不是要转换为 avro 的正确“记录”格式。我什至尝试将我的 json 放入一个字符串 var 并使其看起来类似于他们在网站上的语法 @ https://fastavro.readthedocs.io/en/latest/writer.html

这是我的代码:

这是我得到的输出:

我的json文件和架构,分别:

如果有人可以帮助我,将不胜感激!!

0 投票
2 回答
603 浏览

python - 安装包 googleclient 和 fastavro 时遇到问题

我正在尝试将 GDrive 的文件名写入 Avro 文件。

为了连接到 GDrive,我使用了这些说明。

https://developers.google.com/drive/api/v3/quickstart/python

对于输出,我使用 fastavro 的 writer

使用 Virtualenv Python 3.8 时,googleapiclient 工作正常,但无法安装 fastavro(请参阅安装错误 fastavro)而使用 Conda 3.8 时,fastavro 的安装工作正常,但找不到 googleapiclient(请参阅未找到谷歌API客户端)。

'''

从 googleapiclient.discovery 导入构建

来自 fastavro 进口作家

'''

我已经更新了两个解释器 3.8.2。

我已经使用 Visual Studio,但安装不工作(文件立即打开和关闭)。

我的开发环境是 PyCharm。

任何帮助将不胜感激。

0 投票
0 回答
162 浏览

python - 无法在 macOS 上安装 apache-beam

我正在尝试在我的 python 垂直环境中安装 apache-beam,但它没有用!我遵循了 apache beam org [Apache Beam Python SDK Quickstart]提供的步骤,但是在执行时

我收到了这个错误:

操作系统:macOS Catalina 10.15.4

蟒蛇:3.8.2

有什么可以帮忙的吗?谢谢。

0 投票
1 回答
1481 浏览

python - 使用 fastavro 从 Kafka 反序列化 Avro

我正在构建一个从 Kafka 接收数据的应用程序。当使用 Apache 提供的标准 avro 库(https://pypi.org/project/avro-python3/)时,结果是正确的,但是,反序列化过程非常缓慢。

在阅读为什么这么慢时,我发现fastavro应该更快。我是这样使用的:

而且,由于使用 Apache 的库时一切正常,我希望一切都将以相同的方式与fastavro. 但是,当运行这个时,我得到

我通常不使用 Python 编程,所以我不完全知道如何处理这个问题。有任何想法吗?

0 投票
1 回答
307 浏览

python - 如何从avro文件中删除数据

我有一个 avro 文件,我想根据某些条件过滤掉记录。阅读时如何从文件中删除记录?

0 投票
2 回答
1104 浏览

python - 如何使用 Python 将 JSON 数据转换为 Avro 格式

我想将下面的 JSON 数据转换为 avro 格式,我使用下面的代码片段将 JSON 数据写入 avro 格式但收到错误。如果有人可以提供帮助,那就太好了。

样本数据:

0 投票
1 回答
140 浏览

python-3.x - Avro 附加不存在模式的记录并保存为 avro 文件?

我刚刚开始使用 Avro,我正在 Python 中使用 fastavro 库。

  1. 我准备了一个模式并用这个保存了数据。
  2. 现在,我需要附加新数据(来自 API 调用的 JSON 响应)并将其与不存在的模式一起保存到同一个 avro 文件中。我应该如何继续添加没有预定义架构的 JSON 响应并将其保存到同一个 Avro 文件中?

提前致谢。

0 投票
1 回答
780 浏览

python - 使用python(fastavro)解析多个相互引用的AVRO(avsc文件)

我有一个 AVRO 模式,它目前位于单个 avsc 文件中,如下所示。现在我想将地址记录移动到另一个常见的 avsc 文件中,该文件应该从许多其他 avsc 文件中引用。所以客户和地址将是单独的 avsc 文件。如何将它们分开并让客户 avsc 文件参考地址 avsc 文件。另外如何使用python处理这两个文件。我目前在 python3 中使用快速 avro 来处理单个 avsc 文件,但打开以使用 python3 或 pyspark 中的任何其他实用程序。

文件名 - customer_details.avsc

如何将架构拆分到不同的文件中,地址记录文件可以从其他 avsc 文件中引用。那么我将如何使用快速 Avro (Python) 或任何其他 python 实用程序处理多个 avsc 文件?

0 投票
2 回答
658 浏览

apache-kafka - avro 架构问题:TypeError: unhashable type: 'dict'

我需要为以下数据编写 Avro 模式。曝光是一组具有 3 个数字的数组。

所以我想出了一个如下的模式:

当我尝试注册架构时。我收到以下错误。TypeError: unhashable type: 'dict' 这意味着我使用列表作为字典键。

任何人都可以帮助指出导致错误的原因吗?