日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MaxCompute非事务表如何更新数据

發布時間:2024/8/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MaxCompute非事务表如何更新数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介: 本文主要講解如何通過insert overwrite更新數據

背景

對于大數據中的大多數存儲格式,支持隨機更新非常復雜。它需要掃描大型文件,MaxCompute推出了最新的功能Transactional表可以支持update和delete語句,但是update和delete功能不適用于高頻更新、刪除數據或實時寫入目標表場景,同時對于非Transactional表無法執行update和delete。本文主要講解如何通過insert overwrite更新數據。

1.建表插入數據

create table update_table(ID int,tranValue string,last_update_user string) PARTITIONED by(dt STRING ) LIFECYCLE 1; INSERT INTO update_table PARTITION (dt="20210510") VALUES (1, 'value_01', 'creation'), (2, 'value_02', 'creation'), (3, 'value_03', 'creation'), (4, 'value_04', 'creation'), (5, 'value_05', 'creation'), (6, 'value_06', 'creation'), (7, 'value_07', 'creation'), (8, 'value_08', 'creation'), (9, 'value_09', 'creation'), (10, 'value_10','creation');

2.更新一條數據

當id是1的時候更新成value_011

--更新一條數據 INSERT OVERWRITE TABLE update_table PARTITION( dt) SELECT id,CASE WHEN id=1 THEN "value_011" ELSE TranValue END TranValue,last_update_user,dt FROM update_table WHERE dt = "20210510" ;

3.更新多條數據

根據增量表更新,首先創建增量表插入數據

create table update_table_inc(ID int,TranValue string,last_update_user string) LIFECYCLE 1; INSERT INTO update_table_inc VALUES (5, 'value_11', 'creation'), (6, NULL, '20170410'), (7, 'value22', '20170413');

id是5和7更新TranValue,由于6的TranValue是null不更新

INSERT OVERWRITE TABLE update_table PARTITION( dt) SELECT a.id,CASE WHEN a.id=b.id and b.TranValue is not null THEN b.TranValue ELSE a.TranValue END TranValue,CASE WHEN a.id=b.id and b.TranValue is not null THEN b.last_update_user ELSE a.last_update_user END last_update_user,dt FROM update_table a LEFT JOIN update_table_inc b ON a.id = b.id WHERE a.dt = "20210510" ;

4.刪除數據

--刪除數據INSERT OVERWRITE TABLE update_table PARTITION( dt) SELECT *FROM update_table WHERE dt = "20210510" and id !=4 ;

原文鏈接
本文為阿里云原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的MaxCompute非事务表如何更新数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。