Код SELECT KSQL работает, но CREATE TABLE `..` Код SELECT AS возвращает ошибку - io.confluent.ksql.util.KsqlStatementException: столбец не может быть разрешен - PullRequest
0 голосов
/ 07 ноября 2019

У меня проблема с созданием таблицы или потока в KSQL.

Я сделал все, как показано в официальных примерах, и я не понимаю, почему мой код не работает. Пример из https://docs.confluent.io/current/ksql/docs/tutorials/examples.html#joining:

  CREATE TABLE pageviews_per_region_per_session AS
  SELECT regionid,
         windowStart(),
         windowEnd(),
         count(*)
  FROM pageviews_enriched
  WINDOW SESSION (60 SECONDS)
  GROUP BY regionid;

СЕЙЧАС МОЙ КОД:

Я попытался запустить команду select в командной строке, и она РАБОТАЕТ ХОРОШО:

SELECT count(*) as attempts_count, "computer", (WINDOWSTART() / 1000) as row_time 
FROM LOG_FLATTENED 
WINDOW TUMBLING (SIZE 20 SECONDS)
WHERE "event_id" = 4625
GROUP BY "computer" 
HAVING count(*) > 2; 

Но когда я пытаюсь создать таблицу на основе этого выбора (из инструмента командной строки ksql):

CREATE TABLE `incorrect_logins` AS 
SELECT count(*) as attempts_count, "computer", (WINDOWSTART() / 1000) as row_time 
FROM LOG_FLATTENED 
WINDOW TUMBLING (SIZE 20 SECONDS)
WHERE "event_id" = 4625
GROUP BY "computer" 
HAVING count(*) > 2; 

I GET AN ERROR - io.confluent.ksql.util.KsqlStatementException: Column COMPUTER cannot be resolved. Но этот столбец существует и выберите без create tableоператор отлично работает.

Я использую последний стабильный образ KSQL (confluentinc/cp-ksql-server:5.3.1)

...