【问题标题】:NiFi: The incoming flow file can not be read as an Avro fileNiFi:无法将传入的流文件读取为 Avro 文件
【发布时间】:2018-04-16 06:11:02
【问题描述】:

我刚开始使用 NiFi 1.4。

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

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

无法将传入的流文件作为 Avro 文件读取:java.io.IOException: Not a data file。”

【问题讨论】:

    标签: hive apache-kafka avro apache-nifi


    【解决方案1】:

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

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

    【讨论】:

    • 如果架构来自架构注册表怎么办?你如何嵌入它?
    猜你喜欢
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 2019-10-25
    • 1970-01-01
    • 2019-05-11
    • 2019-06-28
    相关资源
    最近更新 更多