1、今天我们一起来学习下处理器RouteOnAttribute,此处理器的作用是根据属性值进行路由进而来控制数据流的走向。类似于java中的if-else或者switch-case。如下图所示。

GenerateFlowFile 产生测试数据,{"name":"Javax 小金刚","id":"2"}

JoltTransformJSON 转换json结构:{"person":{"name":"Javax 小金刚","id":"2"}}

EvaluateJsonPath 提取指定字段userId,不了解EvaluateJsonPath 可以参考上篇文章

RouteOnAttribute 根据userId属性进行路由,为了演示方便这里仅仅是判断userId=1路由到LogMessage-1,userId=2路由到LogMessage-2,其他数据路由到LogMessage-default

2、RouteOnAttribute处理器功能很明显,根据flowFile的属性进行路由,如下图所示。

Routing Strategy:路由策略,有Route to Property name(本次演示选择此路由策略) 、Route to 'matched' if all match 、Route to 'matched' if any matches 三个选项。

Route to Property name :针对一条路由规则进行控制,如userId=1时路由到LogMessage-1,相当于java中的switch-case。

Route to 'matched' if all match :针对多条路由规则进行控制,如userId=1并且name=Java小金刚路由到LogMessage-xxx,相当于java中的if(userId.equals('1')&&name.equals('Java小金刚')){print('我路由到LogMessage-xxx')}

Route to 'matched' if any matches :针对多条路由规则进行控制,如userId=1或者userId=100路由到LogMessage-kkk,相当于java中的if(userId.equals('1')||name.equals('Java小金刚')){print('我路由到LogMessage-kkk')}

点击+号进行添加路由规则​,可以添加一条或者多条。value支持el表达式,el表达式​后续专题讲解。

3、双击RouteOnAttribute和LogMessage中间的连线,配置关联关系,此时RouteOnAttribute中配置的test1、test2路由条件会在这里显示,同时还会有一个unmatched选项处理未匹配默认值。

当Routing Strategy路由策略选择Route to Property name时,test1、test2、unmatched三个选项只勾选一个。相当于switch-case,多路分支。

选择Route to 'matched' if all match 或者Route to 'matched' if any matches 之后connection 连线配置的关联选项只有matched和unmatched两个选项,如userId=1或者userId=100路由到LogMessage-kkk,相当于java中的if(userId.equals('1')||name.equals('Java小金刚')){print('我路由到LogMessage-kkk')}

4、LogMessage处理器,该处理器作用是记录日志,相当于kettle中的写日志步骤。设置比较简单,这里不做过多介绍。

5、下图为处理器LogMessage打印的日志信息,在日志文件nifi-app.log 中查看。

ETL工具-nifi干货系列 第十讲 处理器RouteOnAttribute(数据流路由)的更多相关文章

  1. WP8.1学习系列(第十九章)——事件和路由事件概述

    我们将介绍在使用 C#.Visual Basic 或 Visual C++ 组件扩展 (C++/CX) 作为编程语言并使用 XAML 进行 UI 定义时,针对 Windows 运行时应用的事件的编程概 ...

  2. Spring Boot干货系列:(十二)Spring Boot使用单元测试(转)

    前言这次来介绍下Spring Boot中对单元测试的整合使用,本篇会通过以下4点来介绍,基本满足日常需求 Service层单元测试 Controller层单元测试 新断言assertThat使用 单元 ...

  3. 开源ETL工具kettle系列之常见问题

    开源ETL工具kettle系列之常见问题 摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. J ...

  4. 数据仓库系列之ETL过程和ETL工具

    上周因为在处理很多数据源集成的事情一直没有更新系列文章,在这周后开始规律更新.在维度建模中我们已经了解数据仓库中的维度建模方法以及基本要素,在这篇文章中我们将学习了解数据仓库的ETL过程以及实用的ET ...

  5. etl学习系列1——etl工具安装

    ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可 ...

  6. ETL工具的功能和kettle如何来提供这些功能

    不多说,直接上干货! 大家会有一个疑惑,本系列博客是Kettle,那怎么扯上ETL呢? Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行. 说白了 ...

  7. Web 开发人员和设计师必读文章推荐【系列三十】

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

  8. Web 开发人员和设计师必读文章推荐【系列二十九】

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

  9. 【转】ETL介绍与ETL工具比较

    本文转载自:http://blog.csdn.net/u013412535/article/details/43462537 ETL,是英文 Extract-Transform-Load 的缩写,用来 ...

  10. ElasticStack系列之十六 & ElasticSearch5.x index/create 和 update 源码分析

    开篇 在ElasticSearch 系列十四中提到的问题即 ElasticStack系列之十四 & ElasticSearch5.x bulk update 中重复 id 性能骤降,继续这个问 ...

随机推荐

  1. 顺通家用电器生产工厂ERP管理系统

    顺通家用电器生产工厂ERP管理系统是一款面向中小制造企业,以智能制造与精益管理为核心的一体化管理软件,符合行业特性的管理流程,与经营特征,形成行业化管理应用软件,为企业提供各方面信息化的管理应用与支持 ...

  2. 力扣438(Java)-找到字符串中所有字母异位词(中等)

    题目: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引.不考虑答案输出的顺序. 异位词 指由相同字母重排列形成的字符串(包括相同的字符串). 示例 1: ...

  3. 力扣153(java&python)-寻找旋转排序数组中的最小值(中等)

    题目: 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组.例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以 ...

  4. 迁移 Express 到函数计算

    首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准备计 ...

  5. 记因为 NVIDIA 显驱错误而让 WPF 应用启动闪退问题

    本文记录一个因为 NVIDIA 显卡驱动错误而让 WPF 应用启动闪退问题 表现是 WPF 应用程序,在启动时,立刻闪退.在事件管理器看到的异常代码是 0xC0000005(Access Violat ...

  6. WPF 基础 2D 图形学知识 判断点是否在线段上

    在知道一个使用两个点表示的线段,和另一个点,求另一个点是否在线段上 本文算法属于通用的算法,可以在 WPF 和 UWP 和 Xamarin 等上运行,基本上所有的 .NET 平台都能执行 如下图,如果 ...

  7. 2018-2-13-win10-uwp-修改CalendarDatePicker图标颜色

    title author date CreateTime categories win10 uwp 修改CalendarDatePicker图标颜色 lindexi 2018-2-13 17:23:3 ...

  8. 2018-11-19-WPF-使用-SharpDX-在-D3DImage-显示

    title author date CreateTime categories WPF 使用 SharpDX 在 D3DImage 显示 lindexi 2018-11-19 15:38:35 +08 ...

  9. AI 编译器CINN中的OpLowering优化Pass

    一.Lower 主逻辑 在 OpLower::Lower() 接口中,主要分为两大类: Elementwise类,主要涉及的 OpPattern 包括:kElementwise .kBroadcast ...

  10. WebKist Inside: CSS 样式表的组成

    1 StyleSheet 一张 StyleSheet 由一系列 Rules 组成,这些 Rules 可以分成 2 大类: 1 Style Rule 2 At-Rule 下面的例子展示了 Style R ...