Hive ApacheNIFI:InferAvroSchema将有符号值推断为字符串

Hive ApacheNIFI:InferAvroSchema将有符号值推断为字符串,hive,avro,apache-nifi,kite-sdk,Hive,Avro,Apache Nifi,Kite Sdk,我在NiFi中建立了一个管道,在那里我可以得到JSON记录,然后用它向API发出请求。我得到的响应将包含数字和文本数据。然后我必须将这些数据写入Hive。我使用InferAvroSchema来推断模式。一些数值是有符号值,如-2.46,-0.1在推断类型时,处理器将其视为字符串,而不是双精度或浮点或十进制类型 我知道我们可以在处理器中硬编码AVRO模式,但我认为利用InferAvroSchema使其更具动态性会更好。是否有其他方法可以克服/解决此问题?推断模式适合猜测初始模式,但一旦需要更具体的

我在NiFi中建立了一个管道,在那里我可以得到JSON记录,然后用它向API发出请求。我得到的响应将包含数字和文本数据。然后我必须将这些数据写入Hive。我使用
InferAvroSchema
来推断模式。一些数值是有符号值,如
-2.46,-0.1
在推断类型时,处理器将其视为
字符串
,而不是
双精度
浮点
十进制
类型


我知道我们可以在处理器中硬编码AVRO模式,但我认为利用
InferAvroSchema
使其更具动态性会更好。是否有其他方法可以克服/解决此问题?

推断模式适合猜测初始模式,但一旦需要更具体的内容,最好删除推断模式并提供所需的确切模式。

推断模式适合猜测初始模式,但是,一旦您需要更具体的内容,最好删除InferAvroSchema并提供所需的确切模式。

好的。但是,这是可以做到的,对吗?他们正在使用kitesdk。扫描字段值的代码行更少,如果值是有符号的,并且是数字的,则可以推断为double/decimal,否则如果它有字母表,则可以推断为string。还是比这复杂得多?好的。但是,这是可以做到的,对吗?他们正在使用kitesdk。扫描字段值的代码行更少,如果值是有符号的,并且是数字的,则可以推断为double/decimal,否则如果它有字母表,则可以推断为string。还是比这复杂得多?