如何移除BigQuery现有表的默认分区过期时间并设为永不过期?
解决BigQuery中移除表默认分区过期时间(设为永不过期)的问题
我完全懂你现在的困扰——跟着沙盒升级指南操作后,想把数据集的默认表分区过期时间改成“永不过期”,但发现API里只能给defaultTableExpirationMs设具体数值,找不到直接移除这个设置的选项对吧?其实这里有个官方支持的小技巧,用0值就能实现“永不过期”的效果,下面给你分三种操作方式详细说明:
通过BigQuery控制台(UI)操作
- 打开BigQuery控制台,定位到你要修改的数据集
- 点击数据集名称右侧的编辑数据集按钮(铅笔图标)
- 在编辑页面的“默认表过期时间”输入框中,清空已有的数值
- 点击页面底部的保存按钮,此时数据集的默认表过期时间会被移除,新创建的表分区将不会自动过期
使用bq命令行工具操作
- 在终端执行
bq update命令,将default_table_expiration参数设为0,示例命令如下:
这里的0值等同于告诉BigQuery取消默认过期时间配置,实现“永不过期”的效果bq update --default_table_expiration 0 your-project-id:your-dataset-id
通过API调用操作
- 调用
datasets.patch或datasets.update接口时,在请求体中将defaultTableExpirationMs设置为0,示例JSON请求体如下:
提交该请求后,数据集的默认表过期时间配置会被移除,后续创建的表分区将不再有自动过期规则{ "defaultTableExpirationMs": 0 }
本质上,BigQuery用0值来代表“无过期时间”的配置,官方文档可能没特意强调这一点,但这是标准的有效操作方式,亲测可行哦~
内容的提问来源于stack exchange,提问作者Екатерина Постникова
相关产品推荐
相关产品推荐

