BigQuery 高级查询与性能优化指南
1. BigQuery 查询类型与性能优化
在 BigQuery 中,查询分为交互式查询和批量查询。交互式查询假设用户需要立即运行,若达到速率限制会立即失败。而批量查询在遇到速率限制时,查询会被排队并稍后重试。批量查询有独立的速率限制,不会影响交互式查询。
例如,每天或每小时运行周期性查询来构建仪表盘,如果一次性以交互式方式运行 500 个查询,由于并发速率限制,部分查询会失败。此时可将仪表盘查询设置为批量优先级,其他手动从 BigQuery 网页 UI 运行的查询则以交互式方式正常运行。
使用批量查询的操作步骤如下:
- 使用 bq 命令行工具时,提供 --batch 标志。
- 在控制台或 REST API 中,将作业优先级指定为 BATCH ,而非 INTERACTIVE 。
若 BigQuery 在 24 小时内未启动查询,会将作业优先级更改为交互式。通常查询启动前的等待时间为几分钟,除非提交的查询超过并发请求配额,此时查询将在前面的查询完成后运行。
2. 数据加载方式
数据加载有流式插入和文件加载两种方式。
- 流式插入 :若想最小化“洞察时间”或拥有最简单的数据管道,可通过 Cloud Pub/Sub 和 Cloud Dataflow 向 BigQuery 进行流式插入。这种架构即使在小型 Cloud Dataflow 集群上,摄取速度也能达到每秒 100,000 行。可通过添加
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



