Почему бы вам не экспортировать напрямую в Avro ?
Это сделает экспорт таблицы в Avro в GCS.
from google.cloud import bigquery
client = bigquery.Client()
project = project
dataset_id = 'cdc'
table_id = 'project_tycho_reports'
bucket_name ='bucketname'
destination_uri = 'gs://{}/{}'.format(bucket_name, 'fileName')
dataset_ref = client.dataset(dataset_id, project=project)
table_ref = dataset_ref.table(table_id)
job_config = bigquery.job.ExtractJobConfig()
job_config.destination_format = bigquery.DestinationFormat.AVRO
extract_job = client.extract_table(
table_ref,
destination_uri,
job_config=job_config,
location="EU",
)
extract_job.result()
Я видел, что есть также возможность указать сжатие (недоступно при экспорте из пользовательского интерфейса) что-то вроде job_config.compression = bigquery.Compression.SNAPPY
Надеюсь, это поможет.