1、Funnel (漏斗),Funnel是 NiFi 组件,用于将多个连接中的数据合并到一个连接中。

使用场景:nifi中的Funnel组件用于合并多个数据流并将它们传递到下游处理器。它可以将来自不同来源的数据流合并到一个数据流中,方便后续处理器对数据进行处理。Funnel组件通常用于将不同分支的数据合并成一个流,例如将多个数据源的数据合并后进行聚合、分析或存储等操作。通过Funnel组件,nifi可以实现数据的合并和汇总,进一步实现数据流的处理和分析。

1)处理器GenerateFlowFile1生成2条数据,处理器GenerateFlowFile2生成2条数据,经过组件Funnel汇合之后将数据传递给LogMessae处理器(或者其他处理器),此时LogMessae处理器将收到4条数据。

2)由此可见Funnel处理器还具有解耦的作用:比如再加个类似的GenerateFlowFile3继续生产数据,后续流程不需要任何调整。

3)说到多对1聚会组件,大家肯定会想到1对多分发组件。在Apache NiFi中,可以使用RouteOnAttribute、RouteOnContent等处理器来实现数据的分发。这些处理器可以根据预定义的条件将数据流分发到不同的处理路径。另外,还可以结合使用UpdateAttribute处理器来添加属性,然后通过RouteOnAttribute根据这些属性的值来进行分发。另外,还可以使用Site-to-Site连接来将数据分发到其他的NiFi实例或其他系统中。

2、双击Funnel上游连接对多个连接内的流文件进行统一的背压,优先级设置,如下图所示:

Name:连接名称是可选的。如果未指定,则连接的名称将显示为连接中活动的关系的名称.

FlowFile Expiration:FlowFile过期是一个概念,用于自动删除不能及时处理的数据流。例如,在预期数据量超过可以发送到远程站点的数据量时,这是很有用的。在这种情况下,可以与优先级处理器一起使用过期机制,确保最高优先级的数据首先得到处理,然后任何在一定时间段内无法处理的数据(例如一个小时)可以被丢弃。过期时间是基于数据进入NiFi实例的时间。换句话说,如果在给定连接上设置了文件过期时间为“1小时”,并且一个已在NiFi实例中一个小时的文件到达该连接,它将会过期。默认值为0秒表示数据永远不会过期。当设置了不为“0秒”的文件过期时间时,连接标签上会出现一个小时钟图标,这样DFM在查看画布上的流程时可以一目了然地看到。

Back Pressure Object Threshold 、Size Threshold

NiFi提供了两种用于背压的配置元素。这些阈值指示在不再调度运行连接源组件之前队列中应允许存在多少数据。这样可以避免系统被数据淹没。第一个选项是“背压对象阈值”。这是在应用背压之前可以在队列中存在的FlowFile数量。第二个配置选项是“背压数据大小阈值”。这指定了在应用背压之前应排队的最大数据量(按大小)。这个值是通过输入一个数字后跟一个数据大小(B代表字节,KB代表千字节,MB代表兆字节,GB代表吉字节,TB代表太字节)进行配置的。

Load Balance Strategy:为了在集群中的各个节点之间分发流程中的数据。后续集群讲解时具体介绍。

ETL工具-nifi干货系列 第十八讲 nifi Funnel实战教程的更多相关文章

  1. Web 前端开发人员和设计师必读文章推荐【系列二十八】

    <Web 前端开发精华文章推荐>2014年第7期(总第28期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  2. OSGi 系列(十八)之 基于注解的 Blueprint

    OSGi 系列(十八)之 基于注解的 Blueprint 1. 注解实现 blueprint 第一步:bundle 添加 Bundle-Blueprint-Annotation <plugin& ...

  3. Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用

    Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用 原创 2017-04-13 嘟嘟MD 嘟爷java超神学堂 前言 前面几章介绍了一些基础,但都是静 ...

  4. Java 设计模式系列(十八)备忘录模式(Memento)

    Java 设计模式系列(十八)备忘录模式(Memento) 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式.备忘录对象是一个用来存储另外一个对象内部状态 ...

  5. 学习ASP.NET Core Blazor编程系列二十八——JWT登录(3)

    学习ASP.NET Core Blazor编程系列文章之目录 学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应 ...

  6. SQL注入之Sqli-labs系列第二十八关(过滤空格、注释符、union select)和第二十八A关

    开始挑战第二十八关(Trick with SELECT & UNION) 第二十八A关(Trick with SELECT & UNION) 0x1看看源代码 (1)与27关一样,只是 ...

  7. SQL注入之Sqli-labs系列第十八关(基于错误的用户代理,头部POST注入)

    开始挑战第十八关(Header Injection - Uagent field - Error based) 常见的HTTP注入点产生位置为[Referer].[X-Forwarded-For].[ ...

  8. Dubbo学习系列之十八(Skywalking服务跟踪)

    我们知道,微服务不是独立的存在,否则就不需要微服务这个架构了,那么当发起一次请求,如何知道这次请求的轨迹,或者说遇到响应缓慢. 请求出错的情况,我们该如何定位呢?这就涉及到APM(Applicatio ...

  9. Spring Boot入门系列(十八)整合mybatis,使用注解的方式实现增删改查

    之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询.虽然目前 mybatis 使用xml 配置的方式 已经极大减轻 ...

  10. BizTalk开发系列(三十八)微软BizTalk Server定价和许可[解读]

    做BizTalk的项目一段时间了,但是对BizTalk的价格和许可还不是很了解.给客户设计解决方案时大部分产品都是直接按照企业版的功能来设计,很 少考虑到价格和许可方面的因素,以为这个不是我们的事情或 ...

随机推荐

  1. pip(国内常用镜像源)安装地址

    国内常用镜像源 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/ 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国 ...

  2. 力扣1076(MySQL)-员工项目Ⅱ(简单)

    题目: 编写一个SQL查询,报告所有雇员最多的项目. 查询结果格式如下所示:  解题思路: 方法一:将两个表联结,以project_id进行分组,统计员工数降序排序,然后筛选出第一条数据. 1 sel ...

  3. 使用 Gradio 的“热重载”模式快速开发 AI 应用

    在这篇文章中,我将展示如何利用 Gradio 的热重载模式快速构建一个功能齐全的 AI 应用.但在进入正题之前,让我们先了解一下什么是重载模式以及 Gradio 为什么要采用自定义的自动重载逻辑.如果 ...

  4. HarmonyOS NEXT应用开发案例——列表编辑实现

    介绍 本示例介绍用过使用ListItem组件属性swipeAction实现列表左滑编辑效果的功能. 该场景多用于待办事项管理.文件管理.备忘录的记录管理等. 效果图预览 使用说明: 点击添加按钮,选择 ...

  5. Koordinator 0.6:企业级容器调度系统解决方案,引入 CPU 精细编排、资源预留与全新的重调度框架

    简介: 经过社区多位成员的贡献,Koordinator 0.6 版本正式发布.相较于上一个版本 0.5,新版本进一步完善了 CPU 精细化编排能力,更好的兼容原生用法:支持了资源预留的能力(Reser ...

  6. 为余势负天工背,云原生内存数据库Tair助力用户体验优化

    ​简介:作为双11大促承载流量洪峰的利器,Tair支撑了电商交易核心体验场景.不仅在数十亿QPS的峰值下保持着亚毫秒级别的顺滑延迟,同时在电商交易核心体验场景上也做出了技术创新. ​ 作者 | 漠冰 ...

  7. [CosmWasm] 安装 Rust 和 wasm32 (Linux & Mac)

      先用 rustup 安装 Rust 语言,再确保你拥有wasm32目标. $ rustup default stable $ cargo version # If this is lower th ...

  8. [PHP] Laravel-admin 模型表格-列的显示-链接: 关联关系的跳转链接

    link 将字段显示为一个链接. // link方法不传参数时,链接的`href`和`text`都是当前列的值 $grid->column('homepage')->link(); // ...

  9. 尝试 IIncrementalGenerator 进行增量 Source Generator 生成代码

    在加上热重载时,源代码生成 Source Generator 的默认行为会让 Visual Studio 有些为难,其原因是热重载会变更代码,变更代码触发代码生成器更新代码,代码生成器更新的代码说不定 ...

  10. SAP集成技术(五)集成风格

    上一节介绍了各种集成架构,这一节将介绍各种集成风格(Style).我们在日常工作中使用这些集成风格来分类不同类型的集成场景.本文将遵循SAP的集成解决方案咨询方法(ISA - M)使用的方法,将集成风 ...