我需要在数据摄取模板nifi

时间:2018-07-16 15:01:06

标签: apache-nifi data-ingestion kylo

您好,先生

在数据提取模板中,我需要获取此属性  例如,我有带日期字段的数据

日期数据   2018年12月7日a   13-07-2018乙   14-07-2018年c   15-07-2018 d

在那之后,我想参加最近的一场比赛,即15-07-2018

如果日期字段中有新数据     16-07-2018电子   那么我必须通过检查最后更新日期15-07-2018而不是从前一个日期12-07-2018来获得16-07-2018

那样,如果我有17-08-2108 f,则必须通过检查上次新日期16-07-2018 ..

如何实现这一目标,我必须在其中进行修改或添加新属性的处理器 提要再次运行时,它如何获取最新的水印并从那里开始工作

1 个答案:

答案 0 :(得分:0)

我想到了两种可能的方法:

  1. 编写您自己的Spark应用程序,该应用程序将用于(ExecuteSparkJob)来读取正在提取的文件。在这种情况下,您要跟踪最大日期,并在完成摄取后将其保留在某个地方。如果您在HDP世界中,那么简单的事情就是将最大日期插入到Hive(事务性)表中。您还可以利用ZooKeeper znode来持久化甚至NiFi提供的PutDistributedMapCache处理器。
  2. 编写一个自定义NiFi处理器,该处理器基本上可以执行与上述处理器相同的操作,不同之处在于您必须自己启用它以使用不同格式(CSV,JSON)的数据。在这方面,Spark内置了许多内置功能。<​​/ li>