Если вы хотите скопировать только некоторые таблицы с указанными датами из dataset_b в dataset_a, вы можете использовать команду bq
внутри Bash
скрипта, как показано ниже
d="20170708"
until [[ $d > 20170720 ]];
do bq cp <dataset_b>.ga_sessions_$d <dataset_a>.ga_sessions_$s;
d=$(date +'%Y%m%d' -d "$d + 1 day")
done
Этот скрипт будет повторять даты, начиная с даты, указанной вами в переменной d
, до даты, указанной вами в предложении until
. На каждой итерации команда bq копирует таблицу ga_sessions для этой даты из одного набора данных в другой.
UPDATE:
Если вы хотите скопировать свои таблицы на основе условий, связанных с его полями, вы можно использовать bq query
, задав целевую таблицу для результатов вашего запроса:
date="20170708"
until [[ $date > 20170720 ]];
do
sql="SELECT "*" FROM <dataset_b>.ga_$date WHERE <your_condition>"
dest="<dataset_a>.ga_sessions_${date}"
bq query --destination_table $dest -n=0 --use_legacy_sql=false "$sql";
date=$(date +'%Y%m%d' -d "$date + 1 day")
done