如何计算 bigquery 行大小?

Posted

技术标签:

【中文标题】如何计算 bigquery 行大小?【英文标题】:How to calculate bigquery row size? 【发布时间】:2016-11-28 23:43:46 【问题描述】:

我正在使用 bigquery 流 api(java) 插入数据,并意识到表行有 1MB 的大小限制,但是有没有人知道更多关于这个限制的信息,比如这个 1MB 是如何计算的? (我猜它不应该是 TableRow 对象的大小)。谢谢!

【问题讨论】:

【参考方案1】:

数据大小是根据每种数据类型的大小计算的。

Data type   Size
STRING      2 bytes + the UTF-8 encoded string size
INTEGER     8 bytes
FLOAT       8 bytes
BOOLEAN     1 byte
TIMESTAMP   8 bytes
RECORD      0 bytes + the size of the contained fields

查看https://cloud.google.com/bigquery/pricing#datafor更多详情

【讨论】:

嗨,我只是想仔细检查一下我的计算是否正确。我在 Python cloud.google.com/bigquery/docs/samples/… 中使用流式插入。如果我插入这个 json 对象:data = 'event': 'signup', 'email': 'abc@email.com'。要计算大小,我应该对 json 对象进行字符串化并将字符串长度乘以 2 个字节,如下所示:len(json.dumps(data)) * 2 bytes = total size?

以上是关于如何计算 bigquery 行大小?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Apache Beam 向 BigQuery 传播插入时如何指定 insertId

如何计算查询bigquery的大小?

如何在 Google BigQuery 的记录中查询字符串?文档不工作

BigQuery 流式插入如何计费?

BigQuery 定价:记录列的查询数据大小(成本)计算

Dataproc + BigQuery 示例 - 有可用的吗?