Я получаю сообщение об ошибке «Неверный файл данных» при загрузке файла NDJSON в Google BigQuery, когда я включаю столбец логического типа данных. Задание выполняется успешно, если я удаляю эти столбцы из схемы и исходного файла. Я использую процесс load_table_from_uri через скрипт на python, но я также пробовал его в графическом интерфейсе и по той же проблеме. Файл json для логических полей выглядит правильно (прилагается). Я также попробовал как устаревшие, так и текущие логические типы данных (BOOL vrs BOOLEAN). Чего мне не хватает.
dataset_id = 'dev'
table_id = 'DIM_EMP'
table_ref = bqClient.dataset(dataset_id).table(table_id)
job_config = bigquery.LoadJobConfig()
job_config.schema = [
bigquery.SchemaField('personId', 'INT64'),
bigquery.SchemaField('personNumber', 'STRING'),
bigquery.SchemaField('firstName', 'STRING'),
bigquery.SchemaField('middleName', 'STRING'),
bigquery.SchemaField('lastName', 'STRING'),
bigquery.SchemaField('userName', 'STRING'),
bigquery.SchemaField('accessProfile', 'STRING'),
bigquery.SchemaField('notificationProfile', 'STRING'),
bigquery.SchemaField('preferenceProfile', 'STRING'),
bigquery.SchemaField('supervisorPersonId', 'INT64'),
bigquery.SchemaField('hireDate', 'DATE'),
bigquery.SchemaField('processEmployeeProfile', 'STRING'),
bigquery.SchemaField('logonProfile', 'STRING'),
bigquery.SchemaField('birthDate', 'DATE'),
bigquery.SchemaField('delegateProfile', 'STRING'),
**bigquery.SchemaField('isManager','BOOLEAN')
bigquery.SchemaField('isEmployee','BOOL'),**
bigquery.SchemaField('localeProfile', 'STRING')
]
job_config.write_disposition = bigquery.WriteDisposition.WRITE_TRUNCATE
job_config.source_format = bigquery.SourceFormat.NEWLINE_DELIMITED_JSON
uri = 'gs://'+project+'-stage/getPeopleDetails/DIMEMP*.ndjson'
load_job = bqClient.load_table_from_uri(
uri,
table_ref,
job_config=job_config) # API request
load_job.result()
Исходный файл JSON