gurmukh singh created HIVE-18572: ------------------------------------ Summary: The record readers; InputFormat needs to be fixed for Tez as it generates 1 split Key: HIVE-18572 URL: https://issues.apache.org/jira/browse/HIVE-18572 Project: Hive Issue Type: Bug Affects Versions: 2.1.0 Reporter: gurmukh singh
The record reader needs to be fixed for tez, as it generates only 1 split due to the {color:#333333}MRv2 CombineInputFormat broke that rule{color}. This has been fixed in MR but not Tez. I am seeing a strange behaviour in tez; it is seeing all data as a single split under hive, where as MR see all 79 files. This is causing all the data to go to a single map TEZ Processing INFO : Partition trusted.usage\{ds=20180126, periode=1200} stats: [numFiles=1, numRows=79575067, totalSize=3.164.605.993, rawDataSize=112439569671] ELAPSED TIME: 1958.99 s MR Processing Partition trusted.usage\{ds=20180126, periode=1200} stats: [numFiles=79, numRows=79575067, totalSize=3172280778, rawDataSize=112418416260] ELAPSED TIME: 65 s Log Tez 2018-01-29 16:50:04,825 [INFO] [InputInitializer \{Map 1} #0] |split.TezMapredSplitsGrouper|: Desired splits: 381 too large. Desired splitLength: 8311476 Min splitLength: 50331648 New desired splits: 381 Final desired splits: 381 All splits have localhost: false Total length: 19166265870 Original splits: 1 2018-01-29 16:50:04,825 [INFO] [InputInitializer \{Map 1} #0] |split.TezMapredSplitsGrouper|: Using original number of splits: 1 desired splits: 381 2018-01-29 16:50:04,826 [INFO] [InputInitializer \{Map 1} #0] |tez.SplitGrouper|: Original split size is 1 grouped split size is 1, for bucket: 1 2018-01-29 16:50:04,827 [INFO] [InputInitializer \{Map 1} #0] |tez.HiveSplitGenerator|: Number of grouped splits: 1 2018-01-29 16:50:04,846 [INFO] [InputInitializer \{Map 1} #0] |dag.RootInputInitializerManager|: Succeeded InputInitializer for Input: usage on vertex vertex_1517207496169_0085_1_00 [Map 1] 2018-01-29 16:50:04,848 [INFO] [App Shared Pool - #0] |impl.VertexImpl|: Cannot init vertex: vertex_1517207496169_0085_1_00 [Map 1] numTasks: -1 numUnitializedEdges: 0 numInitializedInputs: 1 initWaitsForRootInitializers: true 2018-01-29 16:50:04,848 [INFO] [App Shared Pool - #0] |impl.VertexImpl|: Got updated RootInputsSpecs: \{usage=forAllWorkUnits=true, update=[1]} 2018-01-29 16:50:04,859 [INFO] [App Shared Pool - #0] |impl.VertexImpl|: Vertex vertex_1517207496169_0085_1_00 [Map 1] parallelism set to 1 As per discussion with Gopal Vijayaraghavan: https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java#L494 that line, right there MRv2 CombineInputFormat broke that rule, so the record readers had to be fixed to handle it https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/io/HiveContextAwareRecordReader.java#L312 -- This message was sent by Atlassian JIRA (v7.6.3#76005)