我正在Ambari的HDP速成箱中使用NiFi和Hive。
我有一个NiFi流,我将修改后的文件上传到hdfs,然后使用generateflowfile,将查询load data inpath 'hdfs/path/' into table tablename
传递给puthiveql处理器。
这很好用,但是我只想在'hdfs / path'指定的路径中有文件时这样做,因为当执行命令load inpath
时,hdfs目录会清空。
我不知道该怎么办。
非常感谢您!
答案 0 :(得分:1)
使用 ListHDFS
处理器,并将处理器配置为频繁运行(例如每分钟..etc), Directory 属性值。
然后使用 ReplaceText
处理器
AlwaysReplace
load data inpath '${path}/${filename}' into table tablename
然后将成功关系连接到 PutHiveQL
处理器以执行加载数据命令。
流量:
1.ListHDFS
2.ReplaceText
3.PutHiveQL