我正在使用NIFI jsontoavro-> avrotoorc-> puthdfs。但面临以下问题。
1)单个ORC文件正在HDFS上保存。我没有使用任何压缩。 2)当我尝试访问这些文件时,它们会给出缓冲区内存等错误。
提前感谢您的帮助。
答案 0 :(得分:4)
您应该在ConvertAvroToORC之前将许多Avro记录合并在一起。
你可以在ConvertAvroToORC之前使用MergeContent并将模式设置为Avro。
您也可以通过使用MergeContent将JSON合并在一起,然后将合并的JSON发送到ConvertJsonToAvro来实现此目的。
使用PutHDFS附加到已经在HDFS中的ORC文件将无法正常工作。 HDFS处理器不知道有关数据格式的任何信息,只是将额外的原始字节写入文件,可能会创建一个无效的ORC文件。