Spark SQL:为什么这个不受支持的语言功能错误的简单查询?

时间:2014-10-13 09:26:07

标签: sql apache-spark apache-spark-sql

查询=从B1中选择F1,SM3,其中SM4> 10

创建解析树。
14/10/13 14:48:32 INFO ParseDriver:解析命令:从B1中选择F1,SM3,其中SM4> 10
14/10/13 14:48:32 INFO ParseDriver:Parse Completed

但是在计划翻译的节点中,它只是失败了!解决方法是删除where子句..

TOK_QUERY
 TOK_FROM
  TOK_TABREF
   TOK_TABNAME
    B1
TOK_INSERT
  TOK_DESTINATION
   TOK_DIR
    TOK_TMP_FILE
TOK_SELECT
  TOK_SELEXPR
    TOK_TABLE_OR_COL
      F1
  TOK_SELEXPR
    TOK_TABLE_OR_COL
      SM3
TOK_WHERE
  >
    TOK_TABLE_OR_COL
      SM4
    10

1 个答案:

答案 0 :(得分:2)

我认为错误可能是因为我使用带有Hive 0.13二进制文件的Spark(SQL)1.1.0。

我发现解析器无法识别' 10'作为一个有效的数值,尽管它被正确地标记(它的代码类型为290,如代码所示)。删除Hive 0.13引用它似乎工作!