Ошибка загрузки нескольких файлов в bigquery слишком много позиционных аргументов - PullRequest
0 голосов
/ 23 января 2020

~ отредактировано: я запускаю командную строку bq, используя свой экземпляр виртуальной машины в Google Compute Engine

Я пытался загрузить несколько CSV-файлов в bigquery с помощью командной строки bq, и я продолжаю получать эту ошибку

Слишком много позиционных аргументов, все еще имеют ['/home/username/csvschema.json']

Все мои файлы содержат одну и ту же схему, так как я скопировал и вставил ее только и переименовал для тестирования цели. Так что не уверен, почему я продолжаю получать эту ошибку. [testFiles_1.csv, testFiles_2.csv, testFiles_3.csv]

Вот шаги, которые я предпринял: 1. Создаю свою таблицу больших запросов и вручную вставляю туда 1 файл, поэтому мне не нужно вручную добавлять схему, а скорее автоматически обнаружить. 2. Затем я набираю эту команду:

bq load --skip_leading_rows=1  gcstransfer.testFile /home/username/testfile_*.csv /home/username/csvschema.json

Моя схема содержит, запустив bq show --format = pretty json dataset.table

[
{
"mode": "NULLABLE", 
"name": "Channel", 
"type": "STRING"
}, 
{
"mode": "NULLABLE", 
"name": "Date", 
"type": "INTEGER"
}, 
{
"mode": "NULLABLE", 
"name": "ID", 
"type": "STRING"
}, 
{
"mode": "NULLABLE", 
"name": "Referral", 
"type": "STRING"
}, 
{
"mode": "NULLABLE", 
"name": "Browser", 
"type": "STRING"
}
]

Я попытался опустить JSON часть, но вместо этого я получаю эту ошибку: Ошибка BigQuery в операции загрузки: Ошибка декодирования JSON схема из файла /home/username/testfile_2.csv: Нет JSON объект может быть декодирован Чтобы указать схему из одного столбца , используйте "name: string".

1 Ответ

1 голос
/ 23 января 2020

Похоже, вы не можете использовать подстановочные знаки при загрузке из локального источника данных. Для этого вы можете загрузить файлы в GCS Bucket и загрузить их оттуда. См. Раздел «Ограничения» в документах: https://cloud.google.com/bigquery/docs/loading-data-local

Подстановочные знаки и разделенные запятыми списки не поддерживаются при загрузке файлов из локального источника данных. Файлы должны быть загружены индивидуально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...