HuaweiCloud-NiFi-bundle:基于NiFi的华为云服务扩展,支持OBS数据处理与流程编排

NiFi 是一个易于使用、功能强大而且可靠的流式数据处理和分发系统。NiFi 是为数据流设计,支持从多种数据源动态的拉取数据,并基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。 本仓库基于NiFi的扩展机制,提供针对华为云服务的扩展

Branch6Tags0

Huawei-NiFi-bundle

介绍

NiFi 是一个易于使用、功能强大而且可靠的流式数据处理和分发系统。NiFi 是为数据流设计,支持从多种数据源动态的拉取数据,并基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。 本仓库基于NiFi的扩展机制,提供针对华为云服务的扩展

扩展功能说明

OBS

Processor Description Input Required
ListOBSProcessor 从obs桶中检索对象列表。对于列出的每个对象,创建一个表示该对象的FlowFile,以便与FetchOBSObject一起获取。此处理器设计为仅在集群中的主节点上运行。如果主节点发生了变化,新的主节点将从前一个节点停止的位置开始,而不会复制所有数据 False
FetchOBSProcessor 检索OBS对象的内容并将其写入到FlowFile的内容中 True
PutOBSProcessor 从输入的FlowFile中获取文件流,上传到OBS的指定桶,输入可以是FetchOBSProcessor也可以是其他任意包含文件Content的输入;支持大文件切分上传,当异常时可以以最小的损失恢复大型上传 True
DeleteOBSProcessor 根据输入的FlowFiles删除华为云OBS桶上的文件。如果试图删除一个不存在的文件,FlowFile将被路由到成功。 True

image-20230228104619207

image-20230228104719189

image-20230228104658048

DWS/DLI/CDM/SMN/DataArts

下一个版本集成...

安装教程

由于是基于NiFi的1.18版本进行的扩展,下载NiFi源码推荐选择1.18版本,可以避免对依赖文件的修改

  1. 下载NiFi源码,将本仓库代码放到nifi-nar-bundles包中,如果未使用NiFi-1.18版本,需要修改各模块中pom.xml里面所有版本1.18.0到当前版本即可

  2. 修改/usr/local/app/nifi-rel-nifi-${version}/nifi-assembly/pom.xml,新增依赖

    <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-huawei-nar</artifactId>
            <version>${version}</version>
            <type>nar</type>
        </dependency>
    <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-huawei-service-api-nar</artifactId>
            <version>${version}</version>
            <type>nar</type>
        </dependency>
    

    修改 /usr/local/app/nifi-rel-nifi-${version}/nifi-nar-bundles/pom.xml,新增

    <module>nifi-huawei-bundle</module>
    
  3. 构建步骤参考NiFi社区的环境以及安装文档:

    快速开始

    使用文档

Introduction

NiFi 是一个易于使用、功能强大而且可靠的流式数据处理和分发系统。NiFi 是为数据流设计,支持从多种数据源动态的拉取数据,并基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。 本仓库基于NiFi的扩展机制,提供针对华为云服务的扩展

Customize my domain