将 table 中的列类型从布尔值更新为字符串
Update column type in a table from Boolean to string
我想在大查询中将一个空列从布尔类型更新为字符串。
我怎样才能在不覆盖 table 并加载所有数据的情况下做到这一点?
谢谢!
您只能在 table 的末尾添加新字段。在旧列上,您可以选择将 required 更改为 nullable。所以你想要的是不可能的,只有当你添加一个新字段,或者正如你所说的完全覆盖 table.
您需要使用 更新 命令,将新列添加到您的架构中。
重要的旁注:
- 顺序很重要。如果您更改顺序,它将看起来像一个不兼容的模式。
- 您只能在 table 的末尾添加新字段。在旧列上,您可以选择将 required 更改为 nullable。
- 您不能将必填字段添加到现有架构。
- 您无法删除旧字段,一旦指定了 table 的架构,您就无法更改它,除非先删除与其关联的所有数据。如果要更改 table 的架构,则必须指定 WRITE_TRUNCATE 的 writeDisposition。有关详细信息,请参阅工作资源。
Here is an example of a curl session that adds fields to a schema. It should be relatively easy to adapt to Java. It uses auth.py from here
使用 Table.Update() 时,您必须再次包含完整的 table 架构。如果您不提供完全匹配的架构,您可以获得:Provided Schema does not match Table
。例如,我没有注意细节,在我的一次更新调用中,我没有包含像 created
这样的旧字段,结果失败了。
我想在大查询中将一个空列从布尔类型更新为字符串。 我怎样才能在不覆盖 table 并加载所有数据的情况下做到这一点?
谢谢!
您只能在 table 的末尾添加新字段。在旧列上,您可以选择将 required 更改为 nullable。所以你想要的是不可能的,只有当你添加一个新字段,或者正如你所说的完全覆盖 table.
您需要使用 更新 命令,将新列添加到您的架构中。
重要的旁注:
- 顺序很重要。如果您更改顺序,它将看起来像一个不兼容的模式。
- 您只能在 table 的末尾添加新字段。在旧列上,您可以选择将 required 更改为 nullable。
- 您不能将必填字段添加到现有架构。
- 您无法删除旧字段,一旦指定了 table 的架构,您就无法更改它,除非先删除与其关联的所有数据。如果要更改 table 的架构,则必须指定 WRITE_TRUNCATE 的 writeDisposition。有关详细信息,请参阅工作资源。
Here is an example of a curl session that adds fields to a schema. It should be relatively easy to adapt to Java. It uses auth.py from here
使用 Table.Update() 时,您必须再次包含完整的 table 架构。如果您不提供完全匹配的架构,您可以获得:Provided Schema does not match Table
。例如,我没有注意细节,在我的一次更新调用中,我没有包含像 created
这样的旧字段,结果失败了。