BigQuery @run_date используется как разные типы - PullRequest
1 голос
/ 07 мая 2020

У меня есть запланированный запрос с использованием параметра @run_date в BigQuery.

SELECT
  @run_date AS run_date,
  timestamp,
  event
FROM
  `ops-data.usage.full_user_dataset`
WHERE
  DATE(timestamp) < @run_date

timestamp имеет тип TIMESTAMP

Я не могу запланировать его - расписание Параметр выделен серым цветом в новом пользовательском интерфейсе и недоступен в пользовательском интерфейсе classi c (в нем указано, что требуется действительный SQL). Если я попытаюсь запустить запрос, я получаю сообщение об ошибке Undeclared parameter 'run_date' is used assuming different types (DATE vs INT64) at [2:3]

Попробовав разные вещи, я смог запланировать запрос ниже. Идея заключалась в том, чтобы заставить BigQuery рассматривать @run_date как дату, не меняя ее.

SELECT
  DATE_SUB(@run_date, INTERVAL 0 DAY) AS run_date,
  timestamp,
  event
FROM
  `ops-data.usage.full_user_dataset`
WHERE
  DATE(timestamp) < @run_date

Почему возникает эта ошибка и почему исправление работает?

1 Ответ

0 голосов
/ 08 мая 2020
• 1000 , если вам нужна таблица назначения, она должна быть записана как:
CREATE OR REPLACE TABLE <yourDestinationTable>
AS SELECT ... -- your query
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...