2017-02-22 20 views
0

Когда я запускаю какой-то запрос с помощью sql sql (hivecontext), он жалуется, как показано ниже.spark sql no parse rules error

какой синтаксис вызовет это? Я использую искру 1.6 и улей 1.2

Я понятия не имею.

Похоже, что ваше сообщение в основном кода; добавьте еще несколько деталей. Похоже, что ваш пост - это в основном код; добавьте еще несколько деталей. ах ..

Exception in thread "main" org.apache.spark.sql.AnalysisException: 
Unsupported language features in query: SELECT i.*, 
      from_unixtime(unix_timestamp('20170221','yyyyMMdd'),"yyyy-MM-dd'T'HH:mm:ssZ") bounce_date 
      FROM 
       (SELECT country, 
        device_id, 
        os_name, 
        app_ver 
       FROM jpl_band_orc 
       WHERE yyyymmdd='20170221' 
         AND scene_id='app_intro' 
         AND action_id='scene_enter' 
         AND classifier='app_intro' 
       GROUP BY country, device_id, os_name, app_ver) i 
      LEFT JOIN 
       (SELECT device_id 
       FROM jpl_band_orc 
       WHERE yyyymmdd='20170221' 
         AND scene_id='band_list' 
         AND action_id='scene_enter' 
         AND device_id IN 
       (SELECT DISTINCT device_id 
       FROM jpl_band_orc x 
       WHERE yyyymmdd='20170221' 
         AND scene_id='app_intro' 
         AND action_id='scene_enter' 
         AND classifier='app_intro')) s 
        ON i.device_id = s.device_id 
      WHERE s.device_id is null 
TOK_QUERY 8, 0,425, 10 
    TOK_FROM 8, 28,412, 10 
    TOK_LEFTOUTERJOIN 8, 36,412, 10 
     TOK_SUBQUERY 8, 36,186, 10 
     TOK_QUERY 8, 37,182, 10 
      TOK_FROM 8, 91,93, 10 
      TOK_TABREF 8, 93,93, 10 
       TOK_TABNAME 8, 93,93, 10 
       jpl_band_orc 8, 93,93, 10 
      TOK_INSERT 0, -1,182, 0 
      TOK_DESTINATION 0, -1,-1, 0 
       TOK_DIR 0, -1,-1, 0 
       TOK_TMP_FILE 0, -1,-1, 0 
      TOK_SELECT 4, 37,84, 13 
       TOK_SELEXPR 4, 39,39, 13 
       TOK_TABLE_OR_COL 4, 39,39, 13 
        country 4, 39,39, 13 
       TOK_SELEXPR 5, 54,54, 12 
       TOK_TABLE_OR_COL 5, 54,54, 12 
        device_id 5, 54,54, 12 
       TOK_SELEXPR 6, 69,69, 12 
       TOK_TABLE_OR_COL 6, 69,69, 12 
        os_name 6, 69,69, 12 
       TOK_SELEXPR 7, 84,84, 12 
       TOK_TABLE_OR_COL 7, 84,84, 12 
        app_ver 7, 84,84, 12 
      TOK_WHERE 12, 100,161, 13 
       AND 12, 102,161, 13 
       AND 11, 138,138, 13 
        AND 10, 119,119, 13 
        = 9, 102,104, 19 
         TOK_TABLE_OR_COL 9, 102,102, 11 
         yyyymmdd 9, 102,102, 11 
         '20170221' 9, 104,104, 20 
        = 10, 121,123, 25 
         TOK_TABLE_OR_COL 10, 121,121, 17 
         scene_id 10, 121,121, 17 
         'app_intro' 10, 123,123, 26 
        = 11, 140,142, 26 
        TOK_TABLE_OR_COL 11, 140,140, 17 
         action_id 11, 140,140, 17 
        'scene_enter' 11, 142,142, 27 
       = 12, 159,161, 27 
        TOK_TABLE_OR_COL 12, 159,159, 17 
        classifier 12, 159,159, 17 
        'app_intro' 12, 161,161, 28 
      TOK_GROUPBY 13, 168,182, 15 
       TOK_TABLE_OR_COL 13, 173,173, 15 
       country 13, 173,173, 15 
       TOK_TABLE_OR_COL 13, 176,176, 24 
       device_id 13, 176,176, 24 
       TOK_TABLE_OR_COL 13, 179,179, 35 
       os_name 13, 179,179, 35 
       TOK_TABLE_OR_COL 13, 182,182, 44 
       app_ver 13, 182,182, 44 
     i 13, 186,186, 54 
     TOK_SUBQUERY 16, 201,391, 10 
     TOK_QUERY 16, 202,387, 10 
      TOK_FROM 16, 211,213, 10 
      TOK_TABREF 16, 213,213, 10 
       TOK_TABNAME 16, 213,213, 10 
       jpl_band_orc 16, 213,213, 10 
      TOK_INSERT 0, -1,387, 0 
      TOK_DESTINATION 0, -1,-1, 0 
       TOK_DIR 0, -1,-1, 0 
       TOK_TMP_FILE 0, -1,-1, 0 
      TOK_SELECT 15, 202,204, 13 
       TOK_SELEXPR 15, 204,204, 13 
       TOK_TABLE_OR_COL 15, 204,204, 13 
        device_id 15, 204,204, 13 
      TOK_WHERE 20, 220,387, 13 
       AND 20, 222,387, 13 
       AND 19, 258,258, 13 
        AND 18, 239,239, 13 
        = 17, 222,224, 19 
         TOK_TABLE_OR_COL 17, 222,222, 11 
         yyyymmdd 17, 222,222, 11 
         '20170221' 17, 224,224, 20 
        = 18, 241,243, 25 
         TOK_TABLE_OR_COL 18, 241,241, 17 
         scene_id 18, 241,241, 17 
         'band_list' 18, 243,243, 26 
        = 19, 260,262, 26 
        TOK_TABLE_OR_COL 19, 260,260, 17 
         action_id 19, 260,260, 17 
        'scene_enter' 19, 262,262, 27 
       TOK_SUBQUERY_EXPR 20, 279,387, 27 
        TOK_SUBQUERY_OP 20, 281,281, 27 
        IN 20, 281,281, 27 
        TOK_QUERY 22, 291,387, 12 
        TOK_FROM 22, 305,309, 12 
         TOK_TABREF 22, 307,309, 12 
         TOK_TABNAME 22, 307,307, 12 
          jpl_band_orc 22, 307,307, 12 
         x 22, 309,309, 25 
        TOK_INSERT 0, -1,385, 0 
         TOK_DESTINATION 0, -1,-1, 0 
         TOK_DIR 0, -1,-1, 0 
          TOK_TMP_FILE 0, -1,-1, 0 
         TOK_SELECTDI 21, 292,296, 24 
         TOK_SELEXPR 21, 296,296, 24 
          TOK_TABLE_OR_COL 21, 296,296, 24 
          device_id 21, 296,296, 24 
         TOK_WHERE 26, 318,385, 15 
         AND 26, 320,385, 15 
          AND 25, 360,360, 15 
          AND 24, 339,339, 15 
           = 23, 320,322, 21 
           TOK_TABLE_OR_COL 23, 320,320, 13 
            yyyymmdd 23, 320,320, 13 
           '20170221' 23, 322,322, 22 
           = 24, 341,343, 27 
           TOK_TABLE_OR_COL 24, 341,341, 19 
            scene_id 24, 341,341, 19 
           'app_intro' 24, 343,343, 28 
          = 25, 362,364, 28 
           TOK_TABLE_OR_COL 25, 362,362, 19 
           action_id 25, 362,362, 19 
           'scene_enter' 25, 364,364, 29 
          = 26, 383,385, 29 
          TOK_TABLE_OR_COL 26, 383,383, 19 
           classifier 26, 383,383, 19 
          'app_intro' 26, 385,385, 30 
        TOK_TABLE_OR_COL 20, 279,279, 17 
        device_id 20, 279,279, 17 
     s 26, 391,391, 46 
     = 27, 404,412, 24 
     . 27, 404,406, 13 
      TOK_TABLE_OR_COL 27, 404,404, 12 
      i 27, 404,404, 12 
      device_id 27, 406,406, 14 
     . 27, 410,412, 27 
      TOK_TABLE_OR_COL 27, 410,410, 26 
      s 27, 410,410, 26 
      device_id 27, 412,412, 28 
    TOK_INSERT 0, -1,425, 0 
    TOK_DESTINATION 0, -1,-1, 0 
     TOK_DIR 0, -1,-1, 0 
     TOK_TMP_FILE 0, -1,-1, 0 
    TOK_SELECT 1, 0,23, 7 
     TOK_SELEXPR 1, 2,4, 7 
     TOK_ALLCOLREF 1, 2,4, 7 
      TOK_TABNAME 1, 2,2, 7 
      i 1, 2,2, 7 
     TOK_SELEXPR 2, 11,23, 3 
     TOK_FUNCTION 2, 11,21, 3 
      from_unixtime 2, 11,11, 3 
      TOK_FUNCTION 2, 13,18, 17 
      unix_timestamp 2, 13,13, 17 
      '20170221' 2, 15,15, 32 
      'yyyyMMdd' 2, 17,17, 43 
      "yyyy-MM-dd'T'HH:mm:ssZ" 2, 20,20, 55 
     bounce_date 2, 23,23, 81 
    TOK_WHERE 0, 417,425, 0 
     TOK_FUNCTION 0, 419,425, 0 
     TOK_ISNULL 0, 425,425, 0 
     . 28, 419,421, 10 
      TOK_TABLE_OR_COL 28, 419,419, 9 
      s 28, 419,419, 9 
      device_id 28, 421,421, 11 

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

" + 

ответ

1

подзапросов в WHERE статье не поддерживается в Спарк 1.6. Она поддерживается в 2,0

Ссылка: - https://issues.apache.org/jira/browse/SPARK-4226

+0

Ах, спасибо. Похоже, должно быть заменено левым соединением ..:) –

+0

Да, это правильно ...... :). –