如何解决如何将 gzipped json 文件从 bigquery 上传到 gcs 存储桶
我需要将 bigquery 数据(使用一些过滤器选择)以 json 格式加载到 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'
)
,
在 BigQuery 中使用 EXPORT DATA 语句可以解决此问题的纯 SQL 解决方案。请参见以下示例:
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"}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。