找出 space 每个字段在 Google Big Query 中占用的数量
Find out the amount of space each field takes in Google Big Query
我想优化我的大查询 space 和 google 存储 table。有没有办法很容易地找出 table 中每个字段获得的累积 space?这对我来说并不简单,因为我有一个包含许多重复记录的复杂层次结构。
我认为这不会在任何元数据中公开。
但是,您可以根据需要轻松获得良好的近似值。提供了行数,因此对于某些数据类型,您可以直接计算大小:
https://cloud.google.com/bigquery/pricing
对于字符串等类型,您可以通过查询等方式获取平均长度。前 1000 个字段,并将其用于您的存储计算。
您可以在 Web UI 中执行此操作,只需在查询更改为您感兴趣的字段下方输入(而不是 运行ning)即可
SELECT <column_name>
FROM YourTable
并查看由相应大小组成的验证消息
重要 - 你不需要 运行 它 - 只需检查 bytesProcessed 的验证消息,这将是相应列的大小
验证是免费的,并调用所谓的 dry-运行
如果您需要对许多 table 或具有许多列的 table 执行此类“列分析”- 您可以使用 Tables.get API to get table schema ; then loop thru all fields and build respective SELECT statement and finally Dry Run it (within the loop for each column) and get totalBytesProcessed 使用您喜欢的语言对其进行编码,如你已经知道是各自列的大小
我想优化我的大查询 space 和 google 存储 table。有没有办法很容易地找出 table 中每个字段获得的累积 space?这对我来说并不简单,因为我有一个包含许多重复记录的复杂层次结构。
我认为这不会在任何元数据中公开。 但是,您可以根据需要轻松获得良好的近似值。提供了行数,因此对于某些数据类型,您可以直接计算大小: https://cloud.google.com/bigquery/pricing
对于字符串等类型,您可以通过查询等方式获取平均长度。前 1000 个字段,并将其用于您的存储计算。
您可以在 Web UI 中执行此操作,只需在查询更改为您感兴趣的字段下方输入(而不是 运行ning)即可
SELECT <column_name>
FROM YourTable
并查看由相应大小组成的验证消息
重要 - 你不需要 运行 它 - 只需检查 bytesProcessed 的验证消息,这将是相应列的大小
验证是免费的,并调用所谓的 dry-运行
如果您需要对许多 table 或具有许多列的 table 执行此类“列分析”- 您可以使用 Tables.get API to get table schema ; then loop thru all fields and build respective SELECT statement and finally Dry Run it (within the loop for each column) and get totalBytesProcessed 使用您喜欢的语言对其进行编码,如你已经知道是各自列的大小