在 Hive 或 Impala 中将条件字段添加到 table

Add conditional field to table in Hive or Impala

我有一个巨大的 table 存储为镶木地板,我需要根据条件添加列。 有没有一种方法可以做到这一点而不必在 Hive 或 Impala 中重新创建一个新的 table? 是这样的吗?

ALTER TABLE xyz 
ADD COLUMN flag AS (CASE WHEN ... END)

谢谢

我认为 Hive 或 Impala 不支持计算列。这种类型的计算通常使用视图来完成:

CREATE VIEW v_xyz AS
     SELECT xyz.*,
            (CASE WHEN ... END) as flag
     FROM xyz;

然后您可以随时更新视图以调整逻辑或添加新列。