etl工具nifi使用系列(一):nifi介绍及基本概念

之前一段时间从事nifi的开发工作,想总结一些经验以便大家快速上手nifi

etl工具nifi使用系列(一):nifi介绍及基本概念
etl工具nifi使用系列(二):简单数据处理processor的使用
etl工具nifi使用系列(三):关于nifi Expression Language 表达式
etl工具nifi使用系列(四):打印日志调试
etl工具nifi使用系列(五):与外部交互(HDFS、mysql、kafka)
etl工具nifi使用系列(六):使用ExecuteScript执行脚本
etl工具nifi使用系列(七):开发自己的processor
etl工具nifi使用系列(八):调用rest api

nifi官方网站:http://nifi.apache.org/

Apache NiFi supports powerful and scalable directed graphs of data
routing, transformation, and system mediation logic. Some of the
high-level capabilities and objectives of Apache NiFi include:

  • Web-based user interface
    • Seamless experience between design, control, feedback, and monitoring
  • Highly configurable
    • Loss tolerant vs guaranteed delivery
    • Low latency vs high throughput
    • Dynamic prioritization
    • Flow can be modified at runtime
    • Back pressure
  • Data Provenance
    • Track dataflow from beginning to end
  • Designed for extension
    • Build your own processors and more
    • Enables rapid development and effective testing
  • Secure
    • SSL, SSH, HTTPS, encrypted content, etc…
    • Multi-tenant authorization and internal authorization/policy management

nifi:一个易用、强大、可靠的数据处理与分发系统

  • 可视化命令与控制
    • 设计,控制,反馈和监测之间的无缝体验
  • 高度可配置
    • 损失容忍vs保证交付
    • 低延迟vs高吞吐量
    • 动态优先
    • 流可以在运行时修改
    • 数据回压
  • 数据溯源
    • 从头到尾跟踪数据流
  • 为可扩展而设计
    • 建立自己的处理器和更多
    • 快速开发和有效的测试
  • 安全
    • SSL,SSH,HTTPS,加密内容等
    • 多租户授权和内部授权/策略管理

nifi是将数据转换成一种流的形式在各种处理器之间进行处理转换的etl工具,它通过可视化可操作的用户界面来编辑数据,更加直观有效。

常用术语介绍:

  • FlowFile
    一个FlowFile代表每个被系统处理的数据对象,一个FlowFile由两部分组成:属性(FlowFile Attributes)和内容(FlowFile Content)。内容是数据本身,属性是与数据相关的key-value的键值对,用于描述数据。所有flowFile都有以下标准属性:uuid、filename、path

  • FlowFile Processor
    Processor是NiFi的组件,可以用来创建、发送、接受、转换、路由、割裂、合并、处理FlowFiles。在用户建立数据流时,Processor是最重要的组成部分

  • Connection
    提供Processors之间的连接,用来定义Processors之间的执行关系,并允许不同Processors之间以不同的速度进行交互

  • Flow Controller
    其负责维护Processors之间的关联信息,并且管理所有进程对于线程的使用、分配

  • Process Group
    一个特定集合的Processors与它们之间的连接关系形成一个Process Group,其定义了从接受端口接受数据到通过发送端口发送数据之间,整个数据流的处理过程。并可以通过简单组合其它的部件来创建新的部件

你可能感兴趣的