我具有由日期和產品類型蜂巢 - 更新分配柱
product_id, sale_id, date, product_type
42342423, 43423, 2017-01-01, S
67867868, 23233, 2017-01-01, C
53453466, 63423, 2017-02-01, S
我需要從「S」到「T」(恤到上衣)更新PRODUCT_TYPE的所有值進行分區的配置單元表。我們的Hive版本不支持直接更新。
其他的解決方案張貼類似這樣涉及創建一個新表,並使用insert overwrite
與case
陳述 - 像
INSERT OVERWRITE TABLE data.textile_sales PARTITION(date='2017-01-01')
select product_id, sale_id, case when product_type = 'S' then 'T' end as product_type, date
但如果要更新的列是一個分區這是行不通的。
有沒有其他方法可以解決這個問題?
附: 'case product_type ='S',那麼'T'結束爲product_type' - 這個表達式對於product_type不是'S'將導致NULL –