Несмотря на то, что мне не удалось воспроизвести загрузку BigQuery из моей локальной среды в BigQuery. Я смог воспроизвести этот случай, загружая файлы .csv из Google Shell в BigQuery.
Я попытался запустить ваш код, но мои попытки не увенчались успехом. Таким образом, я создал следующий скрипт bash для сопоставления и загрузки всех файлов .csv в BigQuery с помощью команды bq load, описанной здесь .
#!/bin/bash
echo "Starting the script"
for i in *.csv;
do
echo ${i%.csv} " loading";
bq load --autodetect --source_format=CSV project_id:dataset.Table_${i%.csv} ./$i;
echo ${i%.csv} " was loaded"
done
Обратите внимание, что скрипт отображает только файлы .csv в каталоге, в котором он находится. Кроме того, $ {i% .csv} возвращает только имя файла без расширения, которое используется для именования таблицы назначения. С другой стороны, $ i возвращает все имя файла, включая .csv , поэтому оно используется для указания на исходный файл в bq команда загрузки .
О команде bq , флаг - автоопределение использовался в порядке для автоматического определения схемы каждой таблицы.
Кроме того, поскольку это задание загрузки происходит из локального источника данных, необходимо указать идентификатор проекта в пути к таблице назначения, здесь: project_id: dataset.Table _ $ {i% .csv} .
В качестве дополнительной информации вы также можете загрузить свои данные в Google Cloud Bucket и загрузить все файлы в BigQuery, используя подстановочные знаки , Python скрипт с al oop или поток данных (потоковое или пакетное) в зависимости от ваших потребностей.