[ https://issues.apache.org/jira/browse/HIVE-11113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14634338#comment-14634338 ]
Bing Li commented on HIVE-11113: -------------------------------- Hi, [~pxiong] I didn't run the query for "people_part". What I ran list in my previous comment with "Reproduced Queries". In the "reproduced queries", I tried two different types of tables, one is TEXTFILE, and the other is PARQUET. The ANALYZE command on TEXTFILE was passed, while failed on PARQUET table with the error. analyze table dummy partition (ds='2008',hr='12') compute statistics for columns key; // PASS analyze table dummy2 partition(ds='2008') compute statistics for columns key; //FAILED Then I tried to disable hive.optimize.ppd, set its value to false. Then the following query could work without any error analyze table dummy2 partition(ds='2008') compute statistics for columns key; > ANALYZE TABLE .. COMPUTE STATISTICS FOR COLUMNS does not work. > --------------------------------------------------------------- > > Key: HIVE-11113 > URL: https://issues.apache.org/jira/browse/HIVE-11113 > Project: Hive > Issue Type: Bug > Affects Versions: 0.13.1, 1.2.1 > Environment: > Reporter: Shiroy Pigarez > Assignee: Pengcheng Xiong > Priority: Critical > > I was trying to perform some column statistics using hive as per the > documentation > https://cwiki.apache.org/confluence/display/Hive/Column+Statistics+in+Hive > and was encountering the following errors: > Seems like a bug. Can you look into this? Thanks in advance. > -- HIVE table > {noformat} > hive> create table people_part( > name string, > address string) PARTITIONED BY (dob string, nationality varchar(2)) > row format delimited fields terminated by '\t'; > {noformat} > --Analyze table with partition dob and nationality with FOR COLUMNS > {noformat} > hive> ANALYZE TABLE people_part PARTITION(dob='2015-10-2',nationality) > COMPUTE STATISTICS FOR COLUMNS; > NoViableAltException(-1@[]) > at > org.apache.hadoop.hive.ql.parse.HiveParser_IdentifiersParser.identifier(HiveParser_IdentifiersParser.java:11627) > at > org.apache.hadoop.hive.ql.parse.HiveParser.identifier(HiveParser.java:40215) > at > org.apache.hadoop.hive.ql.parse.HiveParser.columnName(HiveParser.java:33351) > at > org.apache.hadoop.hive.ql.parse.HiveParser.columnNameList(HiveParser.java:33219) > at > org.apache.hadoop.hive.ql.parse.HiveParser.analyzeStatement(HiveParser.java:17764) > at > org.apache.hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.java:2369) > at > org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1398) > at > org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1036) > at > org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:199) > at > org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166) > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:404) > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:322) > at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:975) > at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1040) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:911) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:901) > at > org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:275) > at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:227) > at > org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:430) > at > org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:803) > at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:697) > at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:636) > 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.util.RunJar.main(RunJar.java:212) > FAILED: ParseException line 1:95 cannot recognize input near '<EOF>' '<EOF>' > '<EOF>' in column name > {noformat} > --Analyze table with partition dob and nationality values specified with FOR > COLUMNS > {noformat} > hive> ANALYZE TABLE people_part PARTITION(dob='2015-10-2',nationality='IE') > COMPUTE STATISTICS FOR COLUMNS; > NoViableAltException(-1@[]) > at > org.apache.hadoop.hive.ql.parse.HiveParser_IdentifiersParser.identifier(HiveParser_IdentifiersParser.java:11627) > at > org.apache.hadoop.hive.ql.parse.HiveParser.identifier(HiveParser.java:40215) > at > org.apache.hadoop.hive.ql.parse.HiveParser.columnName(HiveParser.java:33351) > at > org.apache.hadoop.hive.ql.parse.HiveParser.columnNameList(HiveParser.java:33219) > at > org.apache.hadoop.hive.ql.parse.HiveParser.analyzeStatement(HiveParser.java:17764) > at > org.apache.hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.java:2369) > at > org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1398) > at > org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1036) > at > org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:199) > at > org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166) > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:404) > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:322) > at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:975) > at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1040) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:911) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:901) > at > org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:275) > at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:227) > at > org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:430) > at > org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:803) > at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:697) > at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:636) > 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.util.RunJar.main(RunJar.java:212) > FAILED: ParseException line 1:100 cannot recognize input near '<EOF>' '<EOF>' > '<EOF>' in column name > {noformat} > --Analyze table with partition dob and nationality values specified with FOR > COLUMNS with column name specified > {noformat} > hive> ANALYZE TABLE people_part PARTITION(dob='2015-10-2',nationality='IE') > COMPUTE STATISTICS FOR COLUMNS name; > FAILED: SemanticException [Error 10004]: Line 1:92 Invalid table alias or > column reference 'IE': (possible column names are: name, address, dob, > nationality) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)