如何将BigQuery中的数据导出存储至Cloud Storage?
把BigQuery筛选后的数据导出到Cloud Storage的操作方法
以下是三种常用的操作方案,你可以根据自己的使用场景选择:
方案1:直接用SQL语句导出(最便捷)
你可以直接在BigQuery SQL编辑器中运行EXPORT DATA语句,把你的查询结果直接导出到GCS,示例代码如下:
EXPORT DATA OPTIONS( -- 替换为你自己的GCS存储桶路径,*是通配符,数据量大时会自动拆分多个文件 uri = 'gs://你的存储桶名称/导出结果前缀-*.csv', -- 可选格式:CSV、JSON、PARQUET、AVRO等,根据需要调整 format = 'CSV', -- 如果路径下已有同名文件,是否覆盖 overwrite = true, -- 导出CSV是否带表头,不需要可以设为false header = true ) AS -- 下面直接放你自己的查询语句即可 SELECT milliVolt FROM `zeta-pivot` where milliVolt < 3300 limit 1000;
方案2:通过BigQuery控制台界面操作
适合不常写SQL的用户,可视化操作即可:
- 先在SQL编辑器运行你写的查询语句,等待查询结果加载完成
- 点击结果面板上方的「保存结果」按钮
- 在下拉选项中选择「导出到Cloud Storage」
- 按照弹窗提示选择目标存储桶、填写导出文件名、选择需要的文件格式,确认后即可开始导出
方案3:通过bq命令行工具导出
适合习惯用命令行操作的场景,先把查询结果存为临时表再导出,示例命令如下:
# 先把查询结果写入临时表,替换你自己的数据集、临时表名 bq query --nouse_legacy_sql --destination_table=你的数据集.临时导出表 'SELECT milliVolt FROM `zeta-pivot` where milliVolt < 3300 limit 1000' # 把临时表导出到GCS bq extract --destination_format=CSV 你的数据集.临时导出表 gs://你的存储桶名称/导出结果前缀-*.csv
注意事项
导出前请确认你使用的账号拥有以下权限,否则会触发权限报错:
- BigQuery作业运行权限、对应查询表的读取权限
- 目标GCS存储桶的写入权限
内容的提问来源于stack exchange,提问作者Veddom
相关产品推荐
相关产品推荐

