我如何上传一个gzip json文件从bigquery到gcs桶



我需要用json格式加载bigquery数据(选择一些过滤器)到gcs桶,然后压缩。当前气流操作是从bq导出表到gcs,是否有办法将一些选择数据与一些过滤器从bq推送到gcs ?

您可以直接设置BigQueryToGCSOperator的compression参数:

from airflow.providers.google.cloud.transfers.bigquery_to_gcs import BigQueryToGCSOperator
bigquery_to_gcs = BigQueryToGCSOperator(
task_id="bigquery_to_gcs",
source_project_dataset_table="DATASET_NAME.TABLE",
destination_cloud_storage_uris=["gs://folder/your_file"],
compression='gzip'
)

这个问题有一个纯SQL的解决方案,使用BigQuery中的EXPORT DATA语句。请看下面的例子:

EXPORT DATA
OPTIONS (
compression = GZIP, 
format = JSON, 
uri = 'gs://bucket/path/file_*'
) AS
-- query_statement
select 1 as x, 2 as y;

从GCS下载文件并从存档中提取后,我得到以下数据:

{"x":"1","y":"2"}

最新更新