У меня есть следующий код:
job_config = bigquery.ExtractJobConfig()
job_config.compression = bigquery.Compression.GZIP
job_config.destination_format = (
bigquery.DestinationFormat.NEWLINE_DELIMITED_JSON)
destination_uri = 'gs://{}/{}'.format(bucket_name, gcs_filename)
extract_job = client.extract_table(
table,
destination_uri,
job_config=job_config,
location='US') # API request
extract_job.result() # Waits for job to complete.
(Обратите внимание, что я получаю свой объект таблицы в другом месте.)
Это работает и выгружает запрошенную таблицу в GCS как newline-JSON с разделителямиОднако некоторые столбцы в таблице могут иметь значение NULL, а некоторые содержат нулевые значения.В интересах обеспечения согласованности всех наших данных я хотел бы сохранить нулевые значения в результатах json.Есть ли способ сделать это без необходимости использовать avro?
Этот пост здесь: Большой извлечение таблицы запросов в JSON, сохранение нулей? ... предлагает на самом деле запросить таблицу.Я не думаю, что это вариант для меня, так как таблицы, которые я извлекаю, содержат миллионы строк в каждой.Один, на который я смотрю, содержит почти 100 миллионов строк и весит более 25 ГБ данных.Но мне не удалось найти способ настроить задание извлечения для сохранения нулей.