Big Query командной строки для запросов и добавления в таблицу - PullRequest
0 голосов
/ 18 мая 2018

У меня есть скрипт, и я пытаюсь запросить таблицу изнутри и добавить результаты в другую таблицу.

Команда;

bq query --destination_table \
'sample_dataset.test_table_formated'$20180518 --append_table \
--use_legacy_sql=true --allow_large_results < sample.txt

Ошибка:

Error in query string: Error processing job 'abiding-set-202911:bqjob_r31268d48dc7a53b_0000016372fe2604_1':
Encountered " ">=" ">= "" at line 1, column 662.
Was expecting:
")" ...

Запрос, хранящийся в файле sample.txt, представлен ниже:

SELECT * FROM
  (SELECT CATS_W_TIMESTAMPS_KEY, SPLIT( VALUES, ",")
   AS VALUES, TAG_URI, PIXEL_URL, REFERRER, CAMPAIGN_ID, WIN_TIME, OBFS_BKUUID, PIXEL_ID, IP_ADDRESS, DATA_DATE, PROCESS_DATE, TRACK_ID
FROM
    (SELECT FIRST(SPLIT(CATS_W_TIMESTAMPS, ":")) AS CATS_W_TIMESTAMPS_KEY, NTH(2, SPLIT(CATS_W_TIMESTAMPS, ":")) AS
      VALUES, TAG_URI, PIXEL_URL, REFERRER, CAMPAIGN_ID, WIN_TIME, OBFS_BKUUID, PIXEL_ID, IP_ADDRESS, DATA_DATE, PROCESS_DATE, TRACK_ID
      FROM
        (SELECT *
         FROM
           (SELECT SPLIT(CATS_W_TIMESTAMPS, ';') AS CATS_W_TIMESTAMPS, TAG_URI, PIXEL_URL, REFERRER, CAMPAIGN_ID, WIN_TIME, OBFS_BKUUID, PIXEL_ID, IP_ADDRESS, DATA_DATE, PROCESS_DATE, TRACK_ID
            FROM [sample_dataset.test_table_1]
            WHERE _PARTITIONTIME>=$PARTITIONDATE )
         GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)))
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13

Все, что я хочу сделать, - это запросить таблицу к столбцу псевдо _PARTITIONTIME, выполнить некоторые операции и добавить результат в другую таблицу.

Может кто-нибудь проверить и сообщить, какая ошибка в этом запросе.

1 Ответ

0 голосов
/ 18 мая 2018

Я думаю, что ваша проблема в этой строке:

_PARTITIONTIME>=&PARTITIONDATE

Попробуйте заменить его на:

_PARTITIONTIME>=_PARTITIONDATE

И я думаю, что у вас есть некоторые ошибки в вашей строке запроса bq.Вам также не нужно указывать --use_legacy_sql = true, поскольку этот флаг по умолчанию имеет значение «true».Попробуйте:

bq query --append_table --allow_large_results --destination_table=Dataset.Table "$(cat sample.txt)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...