Hi,
I was testing spark to read data from hive using HiveContext. I got the
following error, when I used a simple query with constants in predicates.
I am using spark 1.3*. *Anyone encountered error like this ??
*Error:*
Exception in thread "main" org.apache.spark.sql.AnalysisException:
Unsupported language features in query: SELECT * from test_table where
daily_partition='20150101'
TOK_QUERY 1, 0,20, 81
TOK_FROM 1, 10,14, 81
TOK_TABREF 1, 12,14, 81
TOK_TABNAME 1, 12,14, 81
everest_marts_test 1, 12,12, 81
voice_cdr 1, 14,14, 100
TOK_INSERT 0, -1,-1, 0
TOK_DESTINATION 0, -1,-1, 0
TOK_DIR 0, -1,-1, 0
TOK_TMP_FILE 0, -1,-1, 0
TOK_SELECT 1, 0,8, 7
TOK_SELEXPR 1, 2,2, 7
TOK_TABLE_OR_COL 1, 2,2, 7
callingpartynumber 1, 2,2, 7
TOK_SELEXPR 1, 4,4, 26
TOK_TABLE_OR_COL 1, 4,4, 26
calledpartynumber 1, 4,4, 26
TOK_SELEXPR 1, 6,6, 44
TOK_TABLE_OR_COL 1, 6,6, 44
chargingtime 1, 6,6, 44
TOK_SELEXPR 1, 8,8, 57
TOK_TABLE_OR_COL 1, 8,8, 57
call_direction_key 1, 8,8, 57
TOK_WHERE 1, 16,20, 131
= 1, 18,20, 131
TOK_TABLE_OR_COL 1, 18,18, 116
daily_partition 1, 18,18, 116
'20150101' 1, 20,20, 132
scala.NotImplementedError: No parse rules for ASTNode type: 294, text:
'20150101' :
'20150101' 1, 20,20, 132
" +
org.apache.spark.sql.hive.HiveQl$.nodeToExpr(HiveQl.scala:1261)
;
at org.apache.spark.sql.hive.HiveQl$.createPlan(HiveQl.scala:261)
at org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$
hiveQl$1.apply(ExtendedHiveQlParser.scala:41)
at org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$
hiveQl$1.apply(ExtendedHiveQlParser.scala:40)
at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:136)
at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:135)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.
apply(Parsers.scala:242)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.
apply(Parsers.scala:242)
at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.
scala:222)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$
append$1$$anonfun$apply$2.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$
append$1$$anonfun$apply$2.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$Failure.append(
Parsers.scala:202)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$
append$1.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$
append$1.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.
scala:222)
at scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$
apply$14.apply(Parsers.scala:891)
at scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$
apply$14.apply(Parsers.scala:891)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.
scala:890)
at scala.util.parsing.combinator.PackratParsers$$anon$1.apply(
PackratParsers.scala:110)
at org.apache.spark.sql.catalyst.AbstractSparkSQLParser.apply(
AbstractSparkSQLParser.scala:38)
at org.apache.spark.sql.hive.HiveQl$$anonfun$3.apply(HiveQl.scala:138)
at org.apache.spark.sql.hive.HiveQl$$anonfun$3.apply(HiveQl.scala:138)
at org.apache.spark.sql.SparkSQLParser$$anonfun$org$apache$spark$sql$
SparkSQLParser$$others$1.apply(SparkSQLParser.scala:96)
at org.apache.spark.sql.SparkSQLParser$$anonfun$org$apache$spark$sql$
SparkSQLParser$$others$1.apply(SparkSQLParser.scala:95)
at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:136)
at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:135)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.
apply(Parsers.scala:242)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.
apply(Parsers.scala:242)
at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.
scala:222)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$
append$1$$anonfun$apply$2.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$
append$1$$anonfun$apply$2.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$Failure.append(
Parsers.scala:202)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$
append$1.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$Parser$$anonfun$
append$1.apply(Parsers.scala:254)
at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.
scala:222)
at scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$
apply$14.apply(Parsers.scala:891)
at scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$
apply$14.apply(Parsers.scala:891)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.
scala:890)
at scala.util.parsing.combinator.PackratParsers$$anon$1.apply(
PackratParsers.scala:110)
at org.apache.spark.sql.catalyst.AbstractSparkSQLParser.apply(
AbstractSparkSQLParser.scala:38)
at org.apache.spark.sql.hive.HiveQl$.parseSql(HiveQl.scala:234)
at org.apache.spark.sql.hive.HiveContext$$anonfun$sql$1.
apply(HiveContext.scala:92)
at org.apache.spark.sql.hive.HiveContext$$anonfun$sql$1.
apply(HiveContext.scala:92)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.sql.hive.HiveContext.sql(HiveContext.scala:92)
at com.xoanon.spark.hive.HiveSelectTest.main(HiveSelectTest.java:22)
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.spark.deploy.SparkSubmit$.org$apache$spark$
deploy$SparkSubmit$$runMain(SparkSubmit.scala:569)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(
SparkSubmit.scala:166)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:189)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:110)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)