我需要将一堆json文件流式传输到nifi,然后再传输到hdfs。nifi需要查看json文件中的创建日期(unix),然后将其路由到相应的hdfs文件夹。到目前为止,我的处理器设置如下:
使用kafka->routeoncontent(使用regex^“creationdate”:\“[0-9]{4}-[0-9]{2}-[0-9]{2}$)->puthdfs
每天都有一个hdfs文件夹,比如“2019-01-28”、“2019-01-29”、“2019-01-30”等等。但是,“puthdfs”处理器只会输出到一个目录,我显然不希望有365个处理器。据我所知,nifi没有一种动态创建hdfs文件夹的方法,那么有没有一种优雅的方法来处理这个问题呢?
1条答案
按热度按时间mspsb9vt1#
https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-hadoop-nar/1.8.0/org.apache.nifi.processors.hadoop.puthdfs/index.html
有一个参数
Directory
在PutHDFS
处理器:应将文件写入的父hdfs目录。如果目录不存在,将创建该目录。支持表达式语言:true(将使用流文件属性和变量注册表进行计算)
所以你可以用
${creationDate}
对于此参数