[ https://issues.apache.org/jira/browse/HIVE-10294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15139200#comment-15139200 ]
Sivashankar commented on HIVE-10294: ------------------------------------ In the Query user backtick character . `user` instead of user. Also in json records for the key that starts with underscore( _ ) > ParseException issue (Failed to recognize predicate 'user') [Spark Branch] > -------------------------------------------------------------------------- > > Key: HIVE-10294 > URL: https://issues.apache.org/jira/browse/HIVE-10294 > Project: Hive > Issue Type: Sub-task > Components: Spark > Reporter: Xin Hao > > ParseException (Failed to recognize predicate 'user') occurred when we run > some Hive query (e.g. BigBench case Q03). > By the way, if we change all the 'user' to 'user2', the parsing could be > passed. > (1) Exception Details: > {noformat} > FailedPredicateException(identifier,{useSQL11ReservedKeywordsForIdentifier()}?) > at > org.apache.hadoop.hive.ql.parse.HiveParser_IdentifiersParser.identifier(HiveParser_IdentifiersParser.java:10912) > at > org.apache.hadoop.hive.ql.parse.HiveParser.identifier(HiveParser.java:45479) > at > org.apache.hadoop.hive.ql.parse.HiveParser_SelectClauseParser.selectItem(HiveParser_SelectClauseParser.java:2933) > at > org.apache.hadoop.hive.ql.parse.HiveParser_SelectClauseParser.selectList(HiveParser_SelectClauseParser.java:1367) > at > org.apache.hadoop.hive.ql.parse.HiveParser_SelectClauseParser.selectClause(HiveParser_SelectClauseParser.java:1122) > at > org.apache.hadoop.hive.ql.parse.HiveParser.selectClause(HiveParser.java:45475) > at > org.apache.hadoop.hive.ql.parse.HiveParser.selectStatement(HiveParser.java:41136) > at > org.apache.hadoop.hive.ql.parse.HiveParser.regularBody(HiveParser.java:41043) > at > org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpressionBody(HiveParser.java:40059) > at > org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpression(HiveParser.java:39929) > at > org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.subQuerySource(HiveParser_FromClauseParser.java:5295) > at > org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.fromSource(HiveParser_FromClauseParser.java:3731) > at > org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.joinSource(HiveParser_FromClauseParser.java:1865) > at > org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.fromClause(HiveParser_FromClauseParser.java:1512) > at > org.apache.hadoop.hive.ql.parse.HiveParser.fromClause(HiveParser.java:45556) > at > org.apache.hadoop.hive.ql.parse.HiveParser.singleFromStatement(HiveParser.java:40666) > at > org.apache.hadoop.hive.ql.parse.HiveParser.fromStatement(HiveParser.java:40389) > at > org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpressionBody(HiveParser.java:40044) > at > org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpression(HiveParser.java:39929) > at > org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.subQuerySource(HiveParser_FromClauseParser.java:5295) > at > org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.fromSource(HiveParser_FromClauseParser.java:3731) > at > org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.joinSource(HiveParser_FromClauseParser.java:1865) > at > org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.fromClause(HiveParser_FromClauseParser.java:1512) > at > org.apache.hadoop.hive.ql.parse.HiveParser.fromClause(HiveParser.java:45556) > at > org.apache.hadoop.hive.ql.parse.HiveParser.selectStatement(HiveParser.java:41157) > at > org.apache.hadoop.hive.ql.parse.HiveParser.regularBody(HiveParser.java:40876) > at > org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpressionBody(HiveParser.java:40059) > at > org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpression(HiveParser.java:39929) > at > org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1574) > at > org.apache.hadoop.hive.ql.parse.HiveParser.explainStatement(HiveParser.java:1269) > at > org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1070) > at > org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:202) > at > org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166) > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:397) > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:309) > at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1115) > at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1163) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1052) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1042) > at > org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:207) > at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:159) > at > org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:370) > at > org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:305) > at > org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:403) > at > org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:419) > at > org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:708) > at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675) > at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615) > 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 8:27 Failed to recognize predicate 'user'. Failed > rule: 'identifier' in selection target > {noformat} > (2) Query Details (BigBench Q03): > {code} > ADD FILE ${hiveconf:QUERY_DIR}/reducer_q3.py; > set hive.exec.compress.output=false; > DROP TABLE IF EXISTS ${hiveconf:RESULT_TABLE}; > CREATE TABLE ${hiveconf:RESULT_TABLE} ( > lastviewed_item BIGINT, > purchased_item BIGINT, > cnt BIGINT > ) > ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' > STORED AS ${env:BIG_BENCH_hive_default_fileformat_result_table} LOCATION > '${hiveconf:RESULT_DIR}'; > INSERT INTO TABLE ${hiveconf:RESULT_TABLE} > SELECT lastviewed_item, purchased_item, count(*) > FROM ( > FROM ( > SELECT > wcs_user_sk AS user, > wcs_click_date_sk AS lastviewed_date, > wcs_item_sk AS lastviewed_item, > wcs_sales_sk AS lastviewed_sale > FROM web_clickstreams w > WHERE wcs_user_sk IS NOT NULL > CLUSTER BY user > ) q03_map_output > REDUCE > q03_map_output.user, > q03_map_output.lastviewed_date, > q03_map_output.lastviewed_item, > q03_map_output.lastviewed_sale > USING 'python reducer_q3.py ${hiveconf:q03_days_before_purchase}' > AS (lastviewed_item BIGINT, purchased_item BIGINT) > ) q03_nPath > join item i on (i.i_item_sk = q03_nPath.lastviewed_item > AND i.i_category_id IN (${hiveconf:q03_purchased_item_category_IN}) > ) > WHERE purchased_item IN ( ${hiveconf:q03_purchased_item_IN} ) > GROUP BY lastviewed_item, purchased_item,i_category > ; > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)