提问人:Dmytro Chasovskyi 提问时间:10/3/2023 更新时间:10/4/2023 访问量:84
如何基于现有的 Avro 架构生成示例数据?
How to generate sample data based on the existing Avro schema?
问:
我正在对 Kafka 进行性能测试,需要测试不同的大型模式。目前,我正在进行基于 Avro 的负载测试。
通常,在使用 Kafka 时,您拥有数据并从中生成架构。在此方案中,我必须测试多个架构,我不拥有这些架构的数据。我需要根据现有架构生成示例 Avro 数据。
有哪些可能的解决方案?
尝试过的解决方案:
- 我尝试过手动制作数据,但太繁琐了。
- 搜索自动发电机没有运气
- 搜索了官方 Kafka 文档以获取可能的解决方案
- 我尝试编写自己的内容,但对 Avro 几乎没有经验,因此它似乎太自定义且无法继续维护
如何基于现有的 Avro 架构生成示例数据?
答:
1赞
Scott
10/4/2023
#1
如果您熟悉 Python,该库具有从架构生成数据的实用程序:https://fastavro.readthedocs.io/en/latest/utils.htmlfastavro
举个例子:
from fastavro.utils import generate_many
schema = {
'doc': 'A weather reading.',
'name': 'Weather',
'namespace': 'test',
'type': 'record',
'fields': [
{'name': 'station', 'type': 'string'},
{'name': 'time', 'type': 'long'},
{'name': 'temp', 'type': 'int'},
],
}
print(list(generate_many(schema, 5)))
评论