Я спрашиваю, потому что я получаю сообщение об ошибке при загрузке таблицы BigQuery из файлов паркета, из-за чего я думаю, что она неправильно читает режим некоторых полей.
Я пытаюсь загрузить файл паркета из паркета в bigQuery из cloudShell:
loc1=gs://our-data/thisTable/model=firstmodel
bq --location=US load --noreplace --source_format=PARQUET our-data:theSchema.theTable $loc1/*.parquet ./ourSchema.json
В каталоге, указанном в loc1, находится ~ 30 файлов паркета.
Я получаю ошибку, которая указывает на один из этих конкретных файлов:
BigQuery error in load operation: Error processing job 'our-data:bqjob_re73397ea395b9fd_0000016ae66ab746_1': Error while reading
data, error message: Provided schema is not compatible with the file 'part-00000-20b9e343-460b-44a8-b083-4437284d6771.c000.snappy.parquet'.
Field 'dataend' is specified as NULLABLE in provided schema which does not match REQUIRED as specified in the file.
Однако, когда я получаю доступ к файлу паркета с помощью spark и запускаю printSchema (), поле отображается как NULLABLE:
root | - row_id: long (nullable = true) | - row_name: string
(nullable = true) | - dataend: строка (nullable = true)
и схема в таблице BigQuery имеет значение NULLABLE, как и соответствующий раздел схемы JSON:
Буду признателен за любую помощь, зная, где искать дальше.