gpt4 book ai didi

apache-nifi - 如何测试 Apache NiFi Flow?

转载 作者:行者123 更新时间:2023-12-03 20:27:49 25 4
gpt4 key购买 nike

我们已经开始在很多数据管道工作中使用 NiFi。 Nifi 中具有挑战性的一件事是对流的变化进行回归测试。
处理 NiFi 流的单元和功能测试的常用方法有哪些?有没有框架?

最佳答案

关于这个主题有很多可以写的,但我会尽量保持重点和简短。

  • 单元测试
  • NiFi 框架自带 extensive testing utilities对于框架本身以及单个处理器。您可以检查任何捆绑处理器的测试代码以查看常见的测试模式(测试特定逻辑方法与通过 TestRunner 模拟执行测试任意流文件的执行)。许多模拟类和服务可用于简化这些测试。示例: TestEncryptContent
  • Groovy 单元测试和 Spock 也被支持作为测试框架以允许描述性场景。示例: StandardHttpResponseMapperSpec
  • 集成测试
  • 您还可以在测试代码中构建动态流(即配置多个处理器和连接),然后传入任意数据以评估行为。以编程方式构建流一开始可能需要一些时间,但是一旦完成,您将拥有一个可重复的流定义,您可以将其用于许多不同的输入特征。示例: ITestHandleHttpRequest
  • 您可以测试变量等在进程组上的应用。示例: StandardProcessGroupIT
  • 您可以使用 Docker 容器来测试依赖服务,例如 MongoDB 等。使用 TestContainers 使用容器测试某些操作系统集成功能。 .示例: ShellUserGroupProviderIT
  • 烟雾测试
  • 您可以在 NiFi 注册表中有一个特殊的存储桶,其中包含用于在新/升级的 NiFi 实例上建立基线的“测试流”。也许一个流试图通过繁重的处理来耗尽内存、另一个网络、另一个 CPU,等等。您可以将这些版本化的流部署到新系统上并运行它们以确定常见场景中的性能。
  • 您可以在修改流后通过流重放特定流文件,以在流开发期间收集更多信息、收紧反馈循环并验证预期行为。 NiFi User Guide - Replaying a Flowfile
  • 您可以使用 GenerateFlowFile模拟静态或动态流文件内容和属性,您可以将这些内容和属性输入到部署了“被测流”的流程组中。从 FUT 的角度来看,这与生产场景没有什么不同。当流程更新时,可以使用相同的 GFF 来“验证”新行为,然后可以禁用它,并将“生产”输入连接拖到同一个输入端口上。我的演示文稿 BYOP 中的更多示例:使用 Apache NiFi 进行自定义处理器开发 ( slides )
  • 关于apache-nifi - 如何测试 Apache NiFi Flow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57062240/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com