I’m trying to execute a subquery inside an IN clause and am encountering an 
unsupported language feature in the parser.


java.lang.RuntimeException: Unsupported language features in query: select 
customerid from sparkbug where customerid in (select customerid from sparkbug 
where customerid in (2,3))

TOK_QUERY

  TOK_FROM

    TOK_TABREF

      TOK_TABNAME

        sparkbug

  TOK_INSERT

    TOK_DESTINATION

      TOK_DIR

        TOK_TMP_FILE

    TOK_SELECT

      TOK_SELEXPR

        TOK_TABLE_OR_COL

          customerid

    TOK_WHERE

      TOK_SUBQUERY_EXPR

        TOK_SUBQUERY_OP

          in

        TOK_QUERY

          TOK_FROM

            TOK_TABREF

              TOK_TABNAME

                sparkbug

          TOK_INSERT

            TOK_DESTINATION

              TOK_DIR

                TOK_TMP_FILE

            TOK_SELECT

              TOK_SELEXPR

                TOK_TABLE_OR_COL

                  customerid

            TOK_WHERE

              TOK_FUNCTION

                in

                TOK_TABLE_OR_COL

                  customerid

                2

                3

        TOK_TABLE_OR_COL

          customerid


scala.NotImplementedError: No parse rules for ASTNode type: 817, text: 
TOK_SUBQUERY_EXPR :

TOK_SUBQUERY_EXPR

  TOK_SUBQUERY_OP

    in

  TOK_QUERY

    TOK_FROM

      TOK_TABREF

        TOK_TABNAME

          sparkbug

    TOK_INSERT

      TOK_DESTINATION

        TOK_DIR

          TOK_TMP_FILE

      TOK_SELECT

        TOK_SELEXPR

          TOK_TABLE_OR_COL

            customerid

      TOK_WHERE

        TOK_FUNCTION

          in

          TOK_TABLE_OR_COL

            customerid

          2

          3

  TOK_TABLE_OR_COL

    customerid

" +



org.apache.spark.sql.hive.HiveQl$.nodeToExpr(HiveQl.scala:1098)



        at scala.sys.package$.error(package.scala:27)

        at org.apache.spark.sql.hive.HiveQl$.createPlan(HiveQl.scala:252)

        at 
org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:50)

        at 
org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:49)

        at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:136)

Are subqueries in predicates just not supported in 1.2? I think I’m seeing the 
same issue as:

http://apache-spark-user-list.1001560.n3.nabble.com/Subquery-in-having-clause-Spark-1-1-0-td17401.html

Thanks,
-Terry



Reply via email to