I'm trying to load avro files into impala table. In avro files, there are some columns whose name contains uppercase letter, eg, userId. After I recover partitions and refresh the table, there comes an error when I query the table: "Field userid is missing from file and does not have a default value."
Does this mean only lowercase columns names are allowed for avro, or it is a problem of Impala/Hive (since impala will cast all column names to lowercase when creating the table )? The CDH version is 5.5.0
Yes, only use lower case names for AVRO fields. Impala accepts mix case but internally it converts them to lower case and always expects to work through that. But AVRO is case sensitive and so would not match userId with usrid.