如何从Google Cloud Platform下载BigQuery数据表?
BigQuery数据表下载完整操作指南
一、先排查Export to GCS失败的常见原因
- 权限问题:你需要同时拥有目标BigQuery表的
bigquery.tables.export权限,以及目标GCS存储桶的storage.objects.create权限,如果你使用项目默认服务账号操作,也要给该账号添加对应GCS桶的写入权限 - 导出参数错误:如果表大小超过1GB,不能直接导出为单个CSV/JSON文件,必须在导出时开启通配符支持,比如导出路径填写
gs://你的桶名/导出文件名-*.csv,系统会自动拆分多个分片文件完成导出 - 区域不匹配:BigQuery数据集所在的区域必须和GCS存储桶的区域一致,跨区域导出默认会触发报错,需要额外配置跨区域导出参数才能执行
二、两种下载场景的操作步骤
场景1:表大小小于1GB(直接下载到本地)
不需要走GCS导出链路,直接在BigQuery控制台操作即可:
- 打开目标表详情页,点击右上角的
查询按钮打开查询编辑器 - 输入全表查询语句:
SELECT * FROM \你的表完整路径``,点击运行 - 查询结果加载完成后,点击结果面板右上角的
保存结果按钮,选择你需要的格式(CSV/JSON/Google Sheets等)直接下载到本地即可
场景2:表大小大于1GB(先导出到GCS再下载)
- 提前在GCS创建和BigQuery数据集同区域的存储桶,给当前操作账号和BigQuery服务账号授予桶的写入权限
- 回到BigQuery表详情页,点击
导出 > 导出到GCS - 在导出配置页填写对应参数:
- GCS路径:格式为
gs://<桶名称>/<自定义导出前缀>-*.csv(必须带通配符,后缀根据你需要的格式调整为json/parquet等) - 文件格式:选择你需要的导出格式
- 压缩类型:可选gzip压缩减少文件体积
- GCS路径:格式为
- 导出任务完成后,打开GCS控制台进入对应存储桶,勾选所有导出的分片文件点击
下载即可,也可以用gsutil命令行批量下载:gsutil cp gs://你的桶名/导出文件名-*.csv 本地存储路径
可选:使用bq命令行快速导出
熟悉命令行操作的用户可以直接用gcloud的bq工具执行导出:
bq extract --destination_format=CSV --compression=GZIP \`目标表完整路径\` gs://你的桶名/导出文件-*.csv.gz
内容的提问来源于stack exchange,提问作者bill999
相关产品推荐
相关产品推荐

