You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Rajat Jain (JIRA)" <ji...@apache.org> on 2015/06/22 09:32:00 UTC

[jira] [Created] (HIVE-11069) ColumnStatsTask doesn't work with hive.exec.parallel

Rajat Jain created HIVE-11069:
---------------------------------

             Summary: ColumnStatsTask doesn't work with hive.exec.parallel
                 Key: HIVE-11069
                 URL: https://issues.apache.org/jira/browse/HIVE-11069
             Project: Hive
          Issue Type: Bug
    Affects Versions: 1.2.0
            Reporter: Rajat Jain


Try a simple query:

{code}
hive> set hive.exec.parallel=true;
hive> analyze table src compute statistics for columns;
{code}

It fails with errors similar to:

{code}
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.ColumnStatsTask
hive> java.lang.RuntimeException: Error caching map.xml: java.io.IOException: java.lang.InterruptedException
	at org.apache.hadoop.hive.ql.exec.Utilities.setBaseWork(Utilities.java:747)
	at org.apache.hadoop.hive.ql.exec.Utilities.setMapWork(Utilities.java:682)
	at org.apache.hadoop.hive.ql.exec.Utilities.setMapRedWork(Utilities.java:674)
	at org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:375)
	at org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:137)
	at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:160)
	at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:88)
	at org.apache.hadoop.hive.ql.exec.TaskRunner.run(TaskRunner.java:75)
Caused by: java.io.IOException: java.lang.InterruptedException
	at org.apache.hadoop.ipc.Client.call(Client.java:1450)
	at org.apache.hadoop.ipc.Client.call(Client.java:1402)
	at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)
	at com.sun.proxy.$Proxy14.mkdirs(Unknown Source)
	at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.mkdirs(ClientNamenodeProtocolTranslatorPB.java:539)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
	at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
	at com.sun.proxy.$Proxy15.mkdirs(Unknown Source)
	at org.apache.hadoop.hdfs.DFSClient.primitiveMkdir(DFSClient.java:2758)
	at org.apache.hadoop.hdfs.DFSClient.mkdirs(DFSClient.java:2729)
	at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:870)
	at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:866)
	at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
	at org.apache.hadoop.hdfs.DistributedFileSystem.mkdirsInternal(DistributedFileSystem.java:866)
	at org.apache.hadoop.hdfs.DistributedFileSystem.mkdirs(DistributedFileSystem.java:859)
	at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:1954)
	at org.apache.hadoop.hive.ql.exec.Utilities.setPlanPath(Utilities.java:765)
	at org.apache.hadoop.hive.ql.exec.Utilities.setBaseWork(Utilities.java:691)
	... 7 more
Caused by: java.lang.InterruptedException
	at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:400)
	at java.util.concurrent.FutureTask.get(FutureTask.java:187)
	at org.apache.hadoop.ipc.Client$Connection.sendRpcRequest(Client.java:1049)
	at org.apache.hadoop.ipc.Client.call(Client.java:1444)
	... 28 more
Job Submission failed with exception 'java.lang.RuntimeException(Error caching map.xml: java.io.IOException: java.lang.InterruptedException)'
{code}

The problem is the Column Stats Task doesn't depend on the root task which causes errors. Here's the explain output:

{code}
hive> explain analyze table src compute statistics for columns;
OK
STAGE DEPENDENCIES:
  Stage-0 is a root stage
  Stage-1 is a root stage

STAGE PLANS:
  Stage: Stage-0
    Map Reduce
      Map Operator Tree:
          TableScan
            alias: src
            Select Operator
              expressions: key (type: string), value (type: string)
              outputColumnNames: key, value
              Group By Operator
                aggregations: compute_stats(key, 16), compute_stats(value, 16)
                mode: hash
                outputColumnNames: _col0, _col1
                Reduce Output Operator
                  sort order:
                  value expressions: _col0 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:string,numbitvectors:int>), _col1 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:string,numbitvectors:int>)
      Reduce Operator Tree:
        Group By Operator
          aggregations: compute_stats(VALUE._col0), compute_stats(VALUE._col1)
          mode: mergepartial
          outputColumnNames: _col0, _col1
          File Output Operator
            compressed: false
            table:
                input format: org.apache.hadoop.mapred.TextInputFormat
                output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

  Stage: Stage-1
    Column Stats Work
      Column Stats Desc:
          Columns: key, value
          Column Types: string, string
          Table: default.src

Time taken: 0.761 seconds, Fetched: 39 row(s)
{code}

For reference, here's the corresponding output in Hive 0.13:

{code}
hive> explain analyze table orders compute statistics for columns;
OK
STAGE DEPENDENCIES:
  Stage-0 is a root stage
  Stage-1 depends on stages: Stage-0

STAGE PLANS:
  Stage: Stage-0
    Map Reduce
      Map Operator Tree:
          TableScan
            alias: orders
            Statistics: Num rows: 0 Data size: 13310103552 Basic stats: PARTIAL Column stats: COMPLETE

  Stage: Stage-1
    Stats-Aggr Operator

Time taken: 2.142 seconds, Fetched: 15 row(s)
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)