view - 我的数据块中的表架构更改不在我的视图中
问题描述
我在 Azure Databricks 中创建了一个表。
%sql
Create Table db_xmp_ed_dimensions_map.Test1
(
ID int,
Name varchar(100)
);
Insert into db_xmp_ed_dimensions_map.Test1 values(1,'test');
%sql
Create view db_xmp_ed_dimensions_map.v_Test1
AS
SELECT * FROM db_xmp_ed_dimensions_map.Test1
当我运行以下两个查询时,我得到了这些结果。
如果我在我的表中插入一个新行,我的视图中有该行
%sql
Insert into db_xmp_ed_dimensions_map.Test1 values(2,'test2');
我这里有问题。如果我通过添加一个新列来更改我的表架构,我的视图中没有它。
%sql
ALTER TABLE db_xmp_ed_dimensions_map.Test1
ADD COLUMN Family VARCHAR(10)
但是如果我在我的视图上运行查询我没有我的新列
我通过运行此命令验证了我的视图创建命令
%sql
SHOW CREATE TABLE db_xmp_ed_dimensions_map.v_Test1
我有这个命令:
CREATE VIEW `db_xmp_ed_dimensions_map`.`v_Test1` **( `ID`, `Name`)** TBLPROPERTIES (
'transient_lastDdlTime' = '1626980188') AS SELECT * FROM db_xmp_ed_dimensions_map.Test1
正如您在我的视图中看到的那样,我对列名进行了硬编码。我想正因为如此,我看不到我的新专栏。
除了重新创建我的视图之外,还有其他方法可以解决此问题吗?
解决方案
推荐阅读
- docker - 为什么我在使用 MySQL 的 docker 中使用几乎相同的命令得到不同的结果?
- java - 如何将多个 json url 的内容添加到单个 json 对象中
- c# - 哪个参数需要在 switch 中使用 Case 来调用对象的方法?
- javascript - 如果键值为数字,如何更改对象中的键?
- python - 如何解决线性搜索算法中的索引错误?
- list - 如何从 Flutter 的列表中为模型类赋值?
- datatables - 对其他列进行排序时,不要对第一列进行排序
- nginx - nginx中rewrite uri和set variable语句之间的关系
- node.js - 使用 socket.io 发送标头后无法设置标头
- java - 如何在列的 Vaadin Grid 单元格上显示多行数据