diff --git a/llap-client/src/java/org/apache/hadoop/hive/llap/LlapRowRecordReader.java b/llap-client/src/java/org/apache/hadoop/hive/llap/LlapRowRecordReader.java index 7e38356..6eb65ac 100644 --- a/llap-client/src/java/org/apache/hadoop/hive/llap/LlapRowRecordReader.java +++ b/llap-client/src/java/org/apache/hadoop/hive/llap/LlapRowRecordReader.java @@ -219,10 +219,9 @@ static Object convertValue(Object val, ObjectInspector oi) { static void setRowFromStruct(Row row, Object structVal, StructObjectInspector soi) { Schema structSchema = row.getSchema(); // Add struct field data to the Row - List fieldDescs = structSchema.getColumns(); - for (int idx = 0; idx < fieldDescs.size(); ++idx) { - FieldDesc fieldDesc = fieldDescs.get(idx); - StructField structField = soi.getStructFieldRef(fieldDesc.getName()); + List structFields = soi.getAllStructFieldRefs(); + for (int idx = 0; idx < structFields.size(); ++idx) { + StructField structField = structFields.get(idx); Object convertedFieldValue = convertValue( soi.getStructFieldData(structVal, structField),