在PutHiveStreaming之前修改Insert语句

在PutHiveStreaming之前修改Insert语句,hive,apache-nifi,Hive,Apache Nifi,我的CSV文件包含一列日期时间格式,如12-10-2017 11:30 现在使用puthivestreaming,我可以很容易地插入这些记录,但我的要求是从中删除时间&仅保留12-10-2017 我可以在插入时使用带有substr()方法的配置单元命令行实现这一点,但不确定Nifi是否支持它 我也考虑过ReplaceText,但因为我在一行上有多个类似DateTIMe的列,所以我不能这样做 如何实现这一点?您可以使用getDelimitedField轻松获取所需的列 输入-->1,12-10-

我的CSV文件包含一列日期时间格式,如12-10-2017 11:30

现在使用puthivestreaming,我可以很容易地插入这些记录,但我的要求是从中删除时间&仅保留12-10-2017

我可以在插入时使用带有substr()方法的配置单元命令行实现这一点,但不确定Nifi是否支持它

我也考虑过ReplaceText,但因为我在一行上有多个类似DateTIMe的列,所以我不能这样做


如何实现这一点?

您可以使用getDelimitedField轻松获取所需的列

输入-->
1,12-10-2017 11:30,23

在replaceText中,只需给出
${Input:getDelimitedField(2):substringBefore(“”)}

它生成2017年10月12日<代码>的流文件内容


希望这对您有所帮助。

谢谢。转换csvToAvro后我们可以使用此处理器吗?为什么要转换csvToAvro?我当前的流程是使用getFile->convertCSVtoAvro->PutHiveStreaming将记录插入配置单元。这样行吗?看来不行。它正在返回一个空文件。如何获取输入属性?在当前流中,给定的解决方案不起作用。