具有空时间戳值的Nifi PutHiveStreaming

具有空时间戳值的Nifi PutHiveStreaming,hive,timestamp,apache-nifi,Hive,Timestamp,Apache Nifi,我将配置单元中的目标字段类型作为时间戳,并从源代码中获得具有适当时间戳字段或“”或null的json。在使用PutHiveStreaming处理器之前,我正在转换源JSONTAVRO。具有正确时间戳格式的记录成功进入我的配置单元目标表。但是那些具有“/null(空字符串集)值的文件显示错误-非法格式。时间戳格式应为“YYYY-MM-DD HH:MM:SS[.fffffffff]”。我知道如果我可以将它默认为空/空的某个日期,它就会工作。但我不希望这样。当它为null时,我希望它在我的目标表中为n

我将配置单元中的目标字段类型作为时间戳,并从源代码中获得具有适当时间戳字段或“”或null的json。在使用PutHiveStreaming处理器之前,我正在转换源JSONTAVRO。具有正确时间戳格式的记录成功进入我的配置单元目标表。但是那些具有“/null(空字符串集)值的文件显示错误-非法格式。时间戳格式应为“YYYY-MM-DD HH:MM:SS[.fffffffff]”。我知道如果我可以将它默认为空/空的某个日期,它就会工作。但我不希望这样。当它为null时,我希望它在我的目标表中为null。如何实现这一点?

在用于创建表的Avro模式中,您可以通过指定:“字段”[{“名称”:“插入时间”,“类型”:[“null”,“long”]}]让该字段接受
null
,我从源代码获取格式为“YYYY-MM-DD HH:MM:SS”的时间戳字段,有时为“”或null。因此,我不能将avro模式设置为“long”类型。那么您可以让该字段接受
string
null
“字段”:[{“name”:“insertTime”,“type”:[“null”,“string”]}]
这正是我尝试的,但当值为null或或者任何不是YYYY-MM-DD格式的字符串HH:MM:SSC您可以共享您的Avro模式吗?