NiFi:传入的流文件无法读取为Avro文件

时间:2017-11-03 13:31:22

标签: hive apache-kafka avro apache-nifi

我刚开始使用NiFi 1.4。

我正在尝试通过kafka将管道分隔的消息发送到Hive。所以我使用的是ConsumeKafkaRecord_0_10和PutHivStreaming处理器。消费Kafka读者将成功数据发送给PutHiveStreaming。

使用Kafka读者以avro格式写入数据,但PutHiveStreaming给出错误

  

传入的流文件无法读取为Avro文件:java.io.IOException:不是数据文件。“

1 个答案:

答案 0 :(得分:3)

PutHiveStreaming只能读取Avro数据文件,因此您必须确保ConsumeKafkaRecord使用的编写器是AvroRecordSetWriter,并将Schema Write Strategy设置为Embedded Schema。

如果架构未嵌入,那么当它到达Hive处理器时,它将不是有效的Avro数据文件。