我在地图中遇到问题 - 减少了包含字符串和数组值的avro文件。
`Describe hdfs:/test/test.avro
number STRING
totalProductFee STRING
productID STRING
otherPartyId STRING
module STRING
client STRING
Event_DA ARRAY
Event_DA.recType STRING
Event_DA.AccountID STRING
Event_DA.Identifier STRING
Event_DA.ValueBefore STRING
Event_DA.ValueAfter STRING
Event_DA.Change STRING
Event_DA.ExpiryDate STRING
但是,当我尝试运行作业以获取记录值的数组[Event_DA]时获得以下异常:
org.apache.avro.AvroTypeException:找到Event_DA,期待org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:231)中的Event_DA
当结合字符串类型和记录数组时,看起来问题在于输入模式文件。
请为您提供有关这些类型的avro文件的示例模式文件的宝贵建议。
答案 0 :(得分:0)
根据您的架构定义,Event_DA将是“记录”类型,但不是“数组”类型。 您的Avro架构如下所示:
#end