google-bigquery - 使用 CLI 将数据加载到列类型分区:不兼容的表分区规范
问题描述
在一个简单的 BQ 中,使用此 cmd 将一些 CSV 加载到新模式中,我们得到以下错误:
bq load --time_partitioning_field saved_timestamp
--skip_leading_rows=1 --max_bad_records=100 --allow_jagged_rows
--replace --source_format=CSV --ignore_unknown_values TABLE gs://.../export*.gz schema.json
不兼容的表分区规范。不期望分区规范,但输入分区规范是间隔(类型:天,字段:保存的时间戳)
我的期望是创建一个列类型的分区列。怎么了?
我们也可以使用相同的语法来指定聚类吗?
解决方案
在撰写本文时,存在一个限制,即您不能同时替换表和更改分区规范,这也被列为CREATE TABLE 语句的限制。使用 BigQuery CLI 时,您可以:
- 将数据加载到具有所需分区/集群规范的新表中,
- 删除要替换的表 (
bq rm dataset.table
), - 将新表复制到旧表的名称(
bq cp dataset.new_table dataset.table
),然后 - 删除新表 (
bq rm dataset.new_table
)。
推荐阅读
- c# - 为什么当我水平移动精灵时 Unity 会崩溃?
- python - 使用 Selenium 和 Xpath 进行网页抓取
- php - 在 Yii2 中为 url 添加语言
- python - 通过python保存文件后现有条件格式被破坏
- angularjs - 如何在 Angular 中为 Azure blob 容器生成 SAS 令牌?
- c++ - C++ CSV 获取线
- mysql - 外键可以是sql中的主键
- java - 我收到 com.ibm.wsspi.injectionengine.InjectionException: CWNEN0030E
- reactjs - Axios 出现错误 404 未找到(Laravel 和 React)
- sorting - 排序列表