В настоящее время нет способа переименовать таблицу в BigQuery. Способ достижения этого - запустить задание на копирование BigQuery, которое скопирует таблицу с новым именем, а когда оно будет закончено, удалите исходную таблицу. Запуск заданий на копирование не несет сборов за обработку.
Использование инструмента bq
командной строки, некоторые простые баш будет делать трюк:
#!/usr/bin/env bash
SRC="<project-id>:<dataset>"
bq ls --max_results=500 --format=csv $SRC | awk '{if(NR>1)print}' | awk -F, '{print $1}' | while read -r TABLE; do bq cp -f "${SRC}.${TABLE}" "${SRC}.${TABLE}_transformed_${RANDOM}" && bq rm -f "${SRC}.${TABLE}";done
Предупреждение: это удаляет исходную таблицу после этого! Быть осторожен.
Следует отметить следующее: --max_results
параметр. Это важно, потому что по умолчанию команда bq ls
содержит только 50 таблиц в наборе данных. Поэтому этот параметр необходим, чтобы оттянуть все таблицы в наборе данных (соответственно отрегулируйте).