我刚开始使用NiFi 1.4。
我正在尝试通过kafka将管道分隔的消息发送到Hive。所以我使用的是ConsumeKafkaRecord_0_10和PutHivStreaming处理器。消费Kafka读者将成功数据发送给PutHiveStreaming。
使用Kafka读者以avro格式写入数据,但PutHiveStreaming给出错误
传入的流文件无法读取为Avro文件:java.io.IOException:不是数据文件。“
答案 0 :(得分:3)
PutHiveStreaming只能读取Avro数据文件,因此您必须确保ConsumeKafkaRecord使用的编写器是AvroRecordSetWriter,并将Schema Write Strategy设置为Embedded Schema。
如果架构未嵌入,那么当它到达Hive处理器时,它将不是有效的Avro数据文件。