Как BigQuery считывает схему файла паркета, который находится в облачном хранилище Google? - PullRequest
0 голосов
/ 23 мая 2019

Я спрашиваю, потому что я получаю сообщение об ошибке при загрузке таблицы 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:

enter image description here

Буду признателен за любую помощь, зная, где искать дальше.

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