我想优化Big Query和Google存储表的空间。有没有办法很容易地找出表中每个字段的累积空间?对我来说这不是直接的,因为我有一个复杂的层次结构,有许多重复的记录。找出每个字段在Google Big Query中占用的空间量
1
A
回答
2
您可以通过下面简单的查询输入(而不是运行)改变自己的兴趣
SELECT <column_name>
FROM YourTable
的领域,寻找到验证消息是由各自的尺寸在Web UI做
重要 - 你不需要运行它 - 只需检查bytesProcessed的验证消息,这将是相应列的大小
验证是免费的,并调用所谓的干运行
如果你需要做这样的“列剖析”了多个表或与许多列的表 - 您可以使用Tables.get API让您的首选语言代码这个table schema;然后循环通各个领域和各个建设SELECT语句,最后Dry Run它(循环为每列内),并得到totalBytesProcessed正如你已经知道的是各个栏的大小
1
我不认为这是暴露在任何元数据。 但是,您可以根据自己的需要轻松获得很好的近似值。提供了行数,因此对于某些数据类型,您可以直接计算大小: https://cloud.google.com/bigquery/pricing
对于字符串等类型,您可以通过查询例如字符串来获取平均长度。前1000个字段,并将其用于存储计算。
结帐bqdu.info的一些想法 – Pentium10