Перечислите все таблицы в наборе данных в bigquery с помощью bq CLI и сохраните их в облачном хранилище Google.

У меня есть около 108 таблиц в наборе данных. Я пытаюсь извлечь все эти таблицы, используя следующий скрипт bash:

# get list of tables
tables=$(bq ls "$project:$dataset" | awk '{print $1}' | tail +3)

# extract into storage
for table in $tables
do
    bq extract --destination_format "NEWLINE_DELIMITED_JSON" --compression "GZIP" "$project:$dataset.$table" "gs://$bucket/$dataset/$table.json.gz" 
done

Но кажется, что bq ls показывает только около 50 таблиц одновременно, и в результате я не могу извлечь их в облачное хранилище.

Могу ли я получить доступ ко всем 108 таблицам с помощью команды bq ls?


person Syed Arefinul Haque    schedule 15.01.2019    source источник


Ответы (2)


Количество строк по умолчанию при перечислении таблиц, которые будет отображать bq ls, равно 100. Вы можете изменить это с помощью параметра командной строки --max_results или -n.

Вы также можете установить значения по умолчанию для bq в $HOME/.bigqueryrc.

Добавление флагов в .bigqueryrc

person John Hanley    schedule 15.01.2019

Я пробовал с CLI, и эта команда сработала для меня: -

bq ls --max_results 1000 'project_id:dataset'

Примечание: --max_results number_based_on_Table_count

person Community    schedule 21.07.2020