HIVE seems to be internally lower casing all columns names even though when they are properly escaped during table creation:
hive> create table xxxx(DeviceID string);
Time taken: 0.229 seconds
hive> describe xxxx;
Time taken: 0.128 seconds
I'm attaching simple patch that will automatically lowercase all keys in the input JSON, so that the SerDe will work on keys that are not lower cased. SerDe with this patch might behave unpredictable if the input JSON have multiple columns that have same lower cased form (for example "DevideId" and "deviceId").
Lowercase JSON keys before column lookup