2015-05-13 4 views
2

Я пытаюсь обрезать существующую таблицу в GBQ, но команда ниже не работает, когда я запускаю ее. Есть ли какая-то конкретная команда или синтаксис для этого. Я просмотрел документацию GBQ, но не повезло.Обрезать таблицу в GBQ

TRUNCATE TABLE [dw_test.test]; 
+0

См. Https://stackoverflow.com/questions/44651237/how-to-delete-truncate-the-data-in-the-table-using-command-line-in-big-query – aravindderajan

ответ

4

BigQuery не поддерживает TRUNCATE как часть строки запроса. Единственный DDL/DML-глагол, который поддерживает BQ, - SELECT.

Один из вариантов заключается в том, чтобы выполнить задание с WRITE_TRUNCATEwrite disposition (ссылка предназначена для параметра задания запроса, но поддерживается всеми типами заданий с таблицей назначения). Это усечет все данные уже в таблице и заменит их результатами работы.

Если вы не хотите заменять содержимое другими данными или запускаете работу, лучшим вариантом является удаление и повторное создание таблицы с помощью той же схемы.

+0

Как можно ли обрезать таблицы из консоли BQ? – Teja

+2

Если вы используете веб-интерфейс, вы можете найти расположение 'WRITE_TRUNCATE' в расширенных вариантах запроса. В редакторе запросов нажмите «Показать параметры», а затем установите опцию «Write Preference» в «Overwrite Table». –

+0

Да, я видел этот вариант, но просто задаюсь вопросом, есть ли какие-либо команды DDL, которые могут сделать это так, как это делается на стандартном диалекте SQL. – Teja

Смежные вопросы