szlta commented on a change in pull request #2586:
URL: https://github.com/apache/hive/pull/2586#discussion_r700191437



##########
File path: 
llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapRecordReader.java
##########
@@ -158,8 +167,11 @@ private LlapRecordReader(MapWork mapWork, JobConf job, 
FileSplit split,
     rbCtx = ctx != null ? ctx : LlapInputFormat.createFakeVrbCtx(mapWork);
 
     isAcidScan = AcidUtils.isFullAcidScan(jobConf);
-    TypeDescription schema = OrcInputFormat.getDesiredRowTypeDescr(
-        job, isAcidScan, Integer.MAX_VALUE);
+
+    String icebergOrcSchema = 
job.get(ColumnProjectionUtils.ICEBERG_ORC_SCHEMA_STRING);

Review comment:
       Yeah it's unfortunate. This is the equivalent of non-LLAP but vectorized 
ORC case at 
https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/io/orc/VectorizedOrcInputFormat.java#L80
   
   Hive sets IOConstants.SCHEMA_EVOLUTION_COLUMNS and 
SCHEMA_EVOLUTION_COLUMNS_TYPES during compile and pushes this down to 
execution. These are simple string representations of Hive types so not ORC 
specific, and relates to LOGICAL schema.
   Iceberg - in order to support a broader schema evolution - produces the FILE 
schema based on file info and logical type info, and the result is an ORC 
TypeDescription instance. (See VectorizedReadUtils.handleIcebergProjection) I 
have found no easy way to transform this object back into Hive types, the 
conversion only exists in the other direction: 
OrcInputFormat.typeDescriptionsFromHiveTypeProperty()




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to