首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nifi格式: CSVRecordSetWritter对AvroRecordSetWritter的性能

Nifi格式: CSVRecordSetWritter对AvroRecordSetWritter的性能
EN

Stack Overflow用户
提问于 2020-06-15 08:31:23
回答 1查看 83关注 0票数 0

我目前正在调整Nifi ExecuteSQLRecord的摄入。这里有多个方面,而在这个问题中,我感兴趣的是一个:摄入速度在多大程度上取决于xxxSetWriter的选择?

AFAIK,从Nifi深度:内容储存库,我了解到Content以某种二进制格式存储数据。那么CSVRecordSetWritterAvroRecordSetWriterExecuteSQLRecord__中有什么区别呢?ExecuteSQLRecord是否将结果集转换为目标格式,然后以某种方式序列化?性能是否在很大程度上取决于选择?

我注意到,在大数据集中,将CSVRecordSetWritter改为AvroRecordSetWriter只会节省8-9%的数据量,并赢得ExecuteSQLRecord速度的10-15%左右。

我很确定SQL源和网络不是瓶颈。线程计数、GC、节点和内核的数量以及磁盘分区都超出了这个问题的范围。

EN

回答 1

Stack Overflow用户

发布于 2020-06-15 17:35:09

content以二进制格式存储数据,序列化流文件内容,但该内容是标准格式之一(在您的示例中是Avro或CSV )。NiFi在执行记录操作或转换时使用的“内部记录表示”仅存在于内存中,而不被保存到内容存储库中。

从SQL查询和Avro或CSV返回的规范记录格式转换的具体实现和性能成本不是我所知道的,您必须执行基准测试才能看到哪个更好(虽然我预计CSV会更快,因为Avro是一个更复杂的过程)。

如果您锁定了这么多变量,那么除了“要写入哪种格式”之外,真正唯一的决定就是处理器执行的调度 (运行计划、运行持续时间、产量持续时间)。我会尝试增加运行时间,以“执行更多的工作”每一个“存储库写”(昂贵的操作)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62384329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档