流式插入的配额限制
- 如果没有填写 insertId 字段:
- 如果填写了 insertId 字段:
- 每秒最大行数:10 万 (项目级(整个项目所有数据集公用) - quotaExceeded 报错(如果超出上限的话))
- 每秒最大字节数:100 MB (项目级 - quotaExceeded 报错)
- 通用限制:
- 最大行大小:5 MB (invalid 报错)
- HTTP 请求大小限制:10 MB (invalid 报错)
- 每个请求的行数上限:每个请求限 10000 行。
- insertId 字段长度:128
重点
- 在首次将数据流式插入表后的几秒钟内,便可使用流式插入的数据进行实时分析。
- 当数据不可用时,查询仍可成功运行,只是会跳过仍位于流式缓冲区中的某些数据。
- 最多可能需要等待 90 分钟,才能对数据执行复制操作。
- 为帮助确保数据一致性,您可以为每个插入行提供 insertId。BigQuery 会记住此 ID 至少一分钟。如果您尝试在此时间段内流式插入同一组行,并且已设置 insertId 属性,则 BigQuery 将使用 insertId 属性尽力删除重复的数据。
- 如果不插入 insertId, 则 BQ 相当于体用了尽力去重功能,则数据的一致性不能得到保证,存在出现重复数据的可能。
使用情况示例
- 大量事件日志,特点:
- 非事务性。大量、不断附加行。应用可容忍偶尔出现重复项或数据暂时不可用。
- 汇总分析。执行查询通常是为了进行趋势分析,而不会选择单条或小范围记录。