自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (2)
  • 收藏
  • 关注

原创 探索 Apache NIFI 集群的高可用

前言:本文重点在于通过模拟事故来探索Apache NIFI集群的高可用,情景假定有一个3节点的NIFI集群,其中某个节点因为未知原因与集群失联,研究集群(两个在联节点集群)和失联的节点会发生什么,各个节点上的数据会怎样。(注意:节点因为未知原因与集群失联区别于系统管理员手动卸载节点)。除此之外,其他不做重点。我尽量详细描述探索过程,读者可以跟着本文一起实地操作验证。搭建3节点伪集群本节简单说明一下在本地搭建一个3节点的伪集群配置。NIFI版本:nifi-1.12.0-SNAPSHOT(是的,你没看错

2020-05-21 16:46:28 969 2

原创 Apache NIFI入门(读完即入门)

Apache NIFI入门(读完即入门)编辑人(全网同名):酷酷的诚 邮箱:[email protected]我将在本文中介绍:什么是ApacheNIFI,应在什么情况下使用它,理解在NIFI中的关键概念。我不会介绍的内容:-NIFI集群的安装,部署,监视,安全性和管理。什么是ApacheNIFI?在ApacheNIFI项目的官网上,可以找到以下定义:一个易于使用,功能强大且可靠处理和分发数据的系统。接下来我们分析一下关键字。###NIFI定义处理和分发数据这

2020-05-18 17:44:13 3438 2

转载 Java IO流学习总结七:Commons IO 2.5-FileUtils

转自:http://blog.csdn.net/zhaoyanjun6/article/details/54972773本文出自【赵彦军的博客】在上面的几篇文章中,介绍了IO的常规用法,今天介绍Commons IO框架的使用。Commons IO简介Apache Commons IO是Apache基金会创建并维护的Java函数库。它提供了许多类使得开发者的常见任务变得简单,同时减少重复代码,这些代码可能遍布于每个独立的项目中,你却不得不重复的编写。这些类由经验丰富的开发者维护,对各种问题的边界条.

2021-03-02 21:04:24 467

转载 Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream

转自:http://blog.csdn.net/zhaoyanjun6/article/details/54946762本文出自【赵彦军的博客】类的继承关系InputStream|__ ByteArrayInputStreamOutputStream|__ ByteArrayOutputStreamByteArrayInputStream 可以将字节数组转化为输入流 。ByteArrayOutputStream可以捕获内存缓冲区的数据,转换成字节数组。ByteArrayInputS.

2021-03-02 20:58:47 381

转载 Java IO流学习总结五:转换流-InputStreamReader、OutputStreamWriter

转自:http://blog.csdn.net/zhaoyanjun6/article/details/54923506本文出自【赵彦军的博客】类的继承关系Reader|__ BufferedReader、StringReader、InputStreamReader |__ FileReaderWriter|__ BufferedWriter、StringWriter、OutputStreamWriter .

2021-03-02 20:56:42 220

转载 Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter

转自:http://blog.csdn.net/zhaoyanjun6/article/details/54911237本文出自【赵彦军的博客】类的继承关系Reader|__ BufferedReader、StringReader、InputStreamReader |__ FileReaderWriter|__ BufferedWriter、StringWriter、OutputStreamWriter .

2021-03-02 20:54:25 158

转载 Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

转自:http://blog.csdn.net/zhaoyanjun6/article/details/54894451本文出自【赵彦军的博客】InputStream|__FilterInputStream |__BufferedInputStream首先抛出一个问题,有了InputStream为什么还要有BufferedInputStream?BufferedInputStream和BufferedOutputStream这两个类分别是FilterInputStream和F.

2021-03-02 20:52:03 185

转载 Java IO流学习总结二:File

转自:http://blog.csdn.net/zhaoyanjun6/article/details/54581478本文出自【赵彦军的博客】Java File类的功能非常强大,利用java基本上可以对文件进行所有操作。首先来看File类的构造函数的源码/** * Internal constructor for already-normalized pathname strings. */ private File(String pathname, int prefi.

2021-03-02 20:49:04 100

转载 Java IO流学习总结一:输入输出流

Java IO流学习总结一:输入输出流转自:http://blog.csdn.net/zhaoyanjun6/article/details/54292148本文出自【赵彦军的博客】Java流类图结构:流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流

2021-03-02 20:44:07 87

原创 阿里Java手册(手抄在线博客版)

阿里Java手册(手抄在线博客版)相信很多同学都听过和学过大名鼎鼎的阿里的Java开发手册(最新的泰山版),Panda诚在学习的时候顺便抄写了一版在线博客版的(首页如下图)。开发手册划分为编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约七个维度,在延伸信息中,说明对规约做了适当扩展和解释;正例提倡什么样的编码和实现方式;反例说明需要提防的雷区,以及真实的错误案例。扫描下方的二维码可以直接访问到上面的页面。或者在浏览器输入Panda诚的博客的Url:zha.

2021-02-15 16:19:31 550

转载 数据抽取的常见理论方法

数据抽取是指从源数据源系统抽取需要的数据。实际应用中,数据源较多采用的是关系数据库。总体而言,数据抽取的常见方法有两大类,一是基于查询式的,一是基于日志的。基于查询式的数据抽取基于查询式的数据抽取,顾名思义,以从来源库来源表查询数据为主。总体又有几种:触发器方式,增量字段方式,时间戳方式等等。触发器方式(又称快照式)在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽

2020-09-24 19:51:55 5975

转载 NIFI里的数据库连接池

点击上方蓝色“Panda诚”,选择“设为星标”通常我们在NIFI里最常见的使用场景就是读写关系型数据库,一些组件比如GenerateTableFetch、ExecuteSQL、PutSQL、ExecuteSQLRecord、PutDatabaseRecord等等,都会有一个属性配置大概叫Database Connection Pooling Service的,对应的接口是DBCPService,其实现类有:HiveConnectionPool DBCPConnectionPool DBCPCo.

2020-09-24 19:51:04 2993 3

转载 NIFI里你用过PutDatabaseRecord嘛?

点击上方蓝色“Panda诚”,选择“设为星标”描述PutDatabaseRecord处理器使用指定的RecordReader从传入的流文件中读取(可能是多个,说数组也成)记录。这些记录将转换为SQL语句,并作为一个批次执行。如果发生任何错误,则将流文件路由到failure或retry,如果执行成功,则将传入的流文件路由到success。处理器执行的SQL语句类型通过Statement Type属性指定,该属性接受一些硬编码的值,例如INSERT,UPDATE和DELETE,使用“Use stat

2020-09-24 19:50:07 2792

原创 Apache NIFI项目结构的类资源隔离机制

前言本文简单的讨论一下Apache NIFI项目结构的类资源隔离机制,适合接触过源码的同学阅读。NIFI的常见的子Moudle结构以nifi-flume-bundle为例nifi-flume-bundle--nifi-flume-processors--nifi-flume-narnifi-flume-bundle 有两个子项目,nifi-flume-processors里是Processor的具体实现,打成jar包。nifi-flume-nar里没有代码实现...

2020-07-25 20:54:52 466

原创 动手体验JVM中Class对象的唯一性

概述本文不深究理论,不深究原理,从我们开发使用者的角度,动手实践,去体验一下JVM中,Class对象的唯一性与类加载器的关系。引入我们通常说:每个类,无论创建多少个实例,在JVM中都对应同一个Class对象。其实这么说还是挺别扭的,首先是先有的Class对象,然后才有的类的实例。而且这么说其实也并不严谨,假如说我们有一个类的两个实例对象,而这两个实例对象在内存里对应的的class信息是由两个不同的类加载器加载的,也就是说这个时候这两个实例对应的就是两个不同的Class对象。Class对象的唯

2020-07-25 20:54:17 815

原创 一定要了解的Java SPI机制

什么是SPISPI全称Service Provider Interface,翻译过来是服务提供接口。它是jdk内置的一种服务发现机制,它可以让服务定义与实现分离、解耦,大大提升了程序的扩展性。Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制,提供了通过interface寻找implement的方法。使用Java SPI需要符合的约定: Service provider提供Interface的具体实现后,在目录META-INF/services下的文件(以I

2020-07-25 20:53:37 299

原创 不得不了解的Java类加载器

什么是类加载器通过一个类的全限定名来获取描述此类的二进制字节流这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。有哪几种类加载器JVM预定义的三种类型类加载器: 启动(Bootstrap)类加载器(BootstrapClassLoader):是用本地代码实现的类加载器,它负责将 %JRE_HOME%/lib下面的类库加载到内存中(比如rt.jar、resources.jar、charsets.jar、class文件等等

2020-07-25 20:52:49 112

原创 从源码看Java反射原理

有了反射,我们的Java世界才变得更加多姿多彩。Java反射是什么Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。我理解的Java反射的原理就是获取Class对象然后使用java.lang.reflect里提供的方法操作Class对象,Class与java.l

2020-07-25 20:51:36 381

原创 小谈WEB简史

起因一开始我想看Spring Boot源码并写一些学习文章,然后发现我得先看Spring的代码。接着我又编译搭建了Spring的环境并结合书籍展开了学习,但是过程中又发现了很多疑问,不把这些疑问捋顺,心里很难受。 怎么就使用了一个Spring-boot就起来了一个Web应用了?好,我可能自己会回答因为它内置了Tomcat/Jetty…容器的。 怎么扔一个war到Tomcat里,就部署起来了一个Web应用了? 我知道Servlet,以前大学里写过一点jsp、servlet,怎么就

2020-07-25 20:49:58 424

原创 不得不了解的类加载机制

类加载机制Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销,但是却为Java应用提供了极高的扩展性和灵活性,Java天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的

2020-07-25 20:48:37 116

原创 深入理解Apache NIFI Run Duration

Run Duration一些处理器支持配置运行持续时间(Run Duration)。此设置告诉处理器在单个任务中继续使用同一task尽可能多地来处理来自传入队列的的FlowFiles(或成批的流文件)。对于处理单个任务本身非常快并且FlowFile数量也很大的处理器来说,这是一个理想的选择。在上面的示例中,将完全相同的FlowFiles传递到这两个处理器,这些处理器被配置为执行相同的Attribute更新。两者在过去5分钟内处理了相同数量的FlowFiles;但是,配置为运行持续时间的处理器消耗的

2020-06-15 16:19:58 1173

原创 深入解析Apache NIFI的调度策略

简介:本文主要讲解Apache NIFI的调度策略,对象主要是针对Processor组件。本文假定读者已经对Apache NIFI有了一定的了解和使用经验,同时作者也尽可能的去讲解的更透彻,使得本文尽可能让对NIFI接触不深的读者也能够看懂。NIFI的调度策略打开任意一个Processsor,在其配置页面SCHEDULING页签我们可以配置它的调度策略,如下图所示:在流程中有一类的Processor的实例是不允许传入FlowFIle的,我们姑且可以称之为流程源结点(第一个节点)。这类Process

2020-06-09 14:50:19 4812 5

原创 带你体验Apache NIFI新建数据同步流程(NIFI入门)

初衷:对于一些新接触Apache NIFI的小伙伴来说,他们急于想体验NIFI,恨不得直接找到一篇文章,照着做就直接能够解决目前遇到的需求或者问题,回想当初的我,也是这个心态。其实这样的心态是不对的。好多加入NIFI学习群的新手同学都会有这个问题,一些基本的概念和知识点都没有掌握,然后提出了一堆很初级的问题,对于这些问题,我们可能已经回答了几十上百次,厌倦了,所以大家一般会说"你先去看文档吧!"。其实,对于一个新手,直接看文档,也是一脸懵。所以在这里,我带领新手的你,新建一个同步的流程,并尽可能在新建流程的

2020-06-09 14:46:13 4445 1

原创 Apache NIFI ExecuteScript组件脚本使用教程

编辑人(全网同名):酷酷的诚 邮箱:[email protected]本文通过Groovy,Jython,Javascript(Nashorn)和JRuby中的代码示例,介绍了有关如何使用Apache NiFi处理器ExecuteScript完成某些任务的各种方法。本文中的内容包括:Introduction to the NiFi API and FlowFiles从传入队列中获取流文件创建新的流文件使用流文件属性传输流文件日志FlowFile I/O and Erro.

2020-05-22 10:28:36 1287

原创 Apache NIFI CompareFuzzyHash

CompareFuzzyHash编辑人(全网同名):酷酷的诚 邮箱:[email protected]描述将包含模糊哈希的属性与包含模糊哈希列表的文件进行比较,如果匹配成功,则将属性添加到FlowFile。属性配置在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表达式语言。属性名称默认值可选值描述Hash List source file包含要验证的哈希的文件的

2020-05-18 18:34:24 243

原创 Apache NIFI AttributeRollingWindow

AttributeRollingWindow编辑人(全网同名):酷酷的诚 邮箱:[email protected]描述本组件在一个时间窗口内,计算每一个流经的流文件的对应的NIFI表达式,然后把这些值记录在组件的state中。在这个时间窗口内的流文件,会在流属性中记录组件处理它时一共处理了多少的流文件,NIFI表达式计算结果的总和均值。属性配置在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表

2020-05-18 18:33:37 352

原创 深入理解Apache NIFI Connection

深入理解NIFI Connection编辑人(全网同名):酷酷的诚 邮箱:[email protected]简介NiFi Connection是在两个已连接的NiFi处理器组件之间临时保存FlowFiles的位置。每个包含排队的NiFi FlowFiles的Connection在JVM堆中都会占一些空间。本文将对Connection进行分析,探究NiFi如何管理在该Connection中排队的FlowFiles和Connection对堆和性能的影响。正文首先看一下下面这张说明图

2020-05-18 17:37:12 651

原创 了解Apache NiFi最大线程池和处理器并发任务设置

了解NiFi最大线程池和处理器并发任务设置编辑人(全网同名):酷酷的诚 邮箱:[email protected] Timer Driven Thread Count 和 Max Event Driven Thread CountNiFi可以设置相对较低的最大计时器线程计数(Max Timer Driven Thread Count),以支持在最简单的硬件上运行。此默认设置可能会限制必须执行大量并发处理的超大容量数据流的性能。设置此值的一般建议是运行NiFi服务的硬件可用内核数

2020-05-18 17:36:21 1523 2

原创 Apache NIFI PutEmail

PutEmail编辑人(全网同名):酷酷的诚邮箱:[email protected]#描述该处理器从流文件中提取内容,发送邮件。#属性配置在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表达式语言。属性名称 默认值 可选值 描述 SMTP Hostname SMTP host支持表达式语言:true SMTP Port 25...

2020-05-09 00:57:22 2543

原创 Apache NIFI JoltTransformRecord

JoltTransformRecord编辑人:酷酷的诚邮箱:[email protected]#描述与JoltTransformJSON使用方法一样,只是添加了输入格式和输出格式策略,都是使用Jolt转换json,成功的路由到'success',失败的'failure'。处理JSON的实用程序不是基于流的,因此大型JSON文档转换可能会消耗大量内存。目前支持UTF-8流文件内容和Jolt Spec。可以使用表达式语言定义Spec,其中可以在Spec语法的左侧或右侧引用属性。支持自定.

2020-05-09 00:40:04 478

原创 Apache NIFI JoltTransformJSON

#JoltTransformJSON编辑人:酷酷的诚邮箱:[email protected]#描述使用Jolt转换json,成功的路由到'success',失败的'failure'。处理JSON的实用程序不是基于流的,因此大型JSON文档转换可能会消耗大量内存。目前支持UTF-8流文件内容和Jolt Spec。可以使用表达式语言定义Spec,其中可以在Spec语法的左侧或右侧引用属性。支持自定义转换(实现转换接口)。包含当前类路径上不存在的自定义库的模块可以通过自定义模块目录属性包.

2020-05-09 00:37:20 1588

原创 Apache NIFI CalculateRecordStat

编辑人(全网同名):酷酷的诚 邮箱:[email protected]描述:该处理器可以计算记录集中的项数,也可以根据用户定义的记录集子集的条件提供计数。属性配置:在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表达式语言。属性名称 默认值 可选值 描述...

2020-05-07 15:56:27 424

原创 Apache NIFI Base64EncodeContent

Base64EncodeContent编辑人(全网同名):酷酷的诚 邮箱:[email protected]内容:描述:该处理器对base64和base64之间的内容进行编码或解码属性配置:在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表达式语言。属性名称 ...

2020-05-07 15:31:03 287

原创 JOLT 教程

https://nifichina.github.io我的这篇文章来源:https://nifichina.github.io/jolt/jolt%E8%AF%A6%E8%A7%A3.html

2019-12-02 17:08:39 555

原创 JSON JOLT介绍 及语法详解-shift篇

原文地址:https://nifichina.github.io/extend/JsonJoltShift.html注:最新JOLT教程在nifichina:https://nifichina.github.io/jolt/jolt详解.html一 何以为JOLT ? json与json转换的库,是一个很强大的json转json的工具。在我们涉及Cassandra, Elast...

2019-04-16 09:24:00 8021

原创 kudu client

<dependency> <groupId>org.apache.kudu</groupId> <artifactId>kudu-client</artifactId> <version>1.7.0</version></dependency>import jdk...

2019-04-13 11:16:22 1693

原创 虚拟机centos7 安装单机版kudu

1.安装ntp  yum install ntp -y2.启动ntp  systemctlstart|stop|restart ntpd.service3.添加安装包yum源wget -P /etc/yum.repos.d/ http://archive.cloudera.com/kudu/redhat/7/x86_64/kudu/cloudera-kudu.repocl...

2019-04-13 10:28:33 1130

原创 Apache NIFI AttributesToJSON

描述: 该处理器将输入流文件属性转成JSON表示形式。生成的JSON可以被写入一个名为“JSONAttributes”的新属性,也可以作为内容写入到流文件中。属性配置: 在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表达式语言。 属性名称 默认值...

2019-04-10 16:00:47 2324

原创 Apache NIFI AttributesToCSV

描述: 该处理器将输入流文件属性转成CSV表示形式。生成的CSV可以被写入一个名为“CSVAttributes”的新属性,也可以作为内容写入到流文件中。如果属性值包含逗号、换行符或双引号,则属性值将用双引号转义。属性值中的任何双引号字符都用另一个双引号转义。属性配置: 在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默...

2019-04-10 15:46:28 1038

原创 Apache NIFI FlattenJson

描述: 该处理器为用户提供了获取嵌套JSON文档,并将其平展成简单的键/值对文档的能力。json的键在每一层与用户定义分隔符(默认为'.')组合。支持三种flatten模式,normal,keep arrays和针对MongoDB查询dot notation。默认的flatten模式是“keep-arrays”。属性配置: 在下面的列表中,必需属性的名称以粗体显示。...

2019-04-10 15:07:38 1233 1

wechat-0.0.1-SNAPSHOT.jar

微信预警小工具,源代码github地址:https://github.com/nifichina/WechatAlarm 其中有详细的配置说明

2019-07-05

Replacewithmapping模板例子

NIFI Processors 的Replacewithmapping的简单模板。

2019-02-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除