91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hive3怎么使用代理鍵

發布時間:2021-07-12 16:39:46 來源:億速云 閱讀:172 作者:chen 欄目:大數據

這篇文章主要介紹“Hive3怎么使用代理鍵”,在日常操作中,相信很多人在Hive3怎么使用代理鍵問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Hive3怎么使用代理鍵”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

您可以使用內置的SURROGATE_KEY用戶定義函數(UDF)在將數據輸入表中時自動為行生成數字ID。生成的代理鍵可以替換多個復合鍵。
Hive僅在ACID表上支持代理鍵,如以下表類型矩陣中所述:
表類型
ACID
代理鍵
文件格式
插入
更新/刪除
托管:CRUD事務性
ORC
托管:僅插入式交易
任何
沒有
托管:臨時
沒有
沒有
任何
沒有
外部
沒有
沒有
任何
沒有
您要使用代理鍵聯接的表不能具有需要轉換的列類型。這些數據類型必須是原生類型,例如INT或STRING。
使用生成的鍵進行聯接比使用字符串進行聯接要快。使用生成的鍵不會通過行號將數據強制進入單個節點。您可以生成鍵作為自然鍵的抽象。代理鍵比UUID具有優勢,后者速度較慢且具有概率。
SURROGATE_KEY UDF為您插入表中的每一行生成唯一的ID。它基于分布式系統中的執行環境生成鍵,其中包括許多因素,例如內部數據結構,表的狀態和最后的事務ID。代理鍵生成不需要計算任務之間的任何協調。
UDF不帶參數或帶兩個參數:
  • Write Id bit

  • Task ID bit

1.  以具有  ACID  屬性的默認  ORC  格式創建一個學生表。
CREATE TABLE students (row_id INT, name VARCHAR(64), dorm INT);
2.  將數據插入表中。例如:
INSERT INTO TABLE students VALUES (1, 'fred flintstone', 100), (2, 'barney rubble', 200);
3.  使用  SURROGATE_KEY UDF  創建學生表的版本。
CREATE TABLE students_v2 (`ID` BIGINT DEFAULT SURROGATE_KEY(), row_id INT, name VARCHAR(64),  dorm INT,  PRIMARY KEY (ID) DISABLE NOVALIDATE);
4.  插入數據,它會自動為主鍵生成代理鍵。
INSERT INTO students_v2 (row_id, name, dorm) SELECT * FROM students;
5.  看一下代理鍵。
SELECT * FROM students_v2;+-----------------+---------------------+-------------------+-------------------+| students_v2.id  | students_v2.row_id  | students_v2.name  | students_v2.dorm  |+-----------------+---------------------+-------------------+-------------------+| 1099511627776   | 1                   | fred flintstone   | 100               || 1099511627777   | 2                   | barney rubble     | 200               |+-----------------+---------------------+-------------------+-------------------+
6.  將代理鍵作為外鍵添加到另一個表(例如  student_grades  表)中,以加快表的后續聯接。
ALTER TABLE student_grades ADD COLUMNS (gen_id BIGINT); MERGE INTO student_grades g USING students_v2 s ON g.row_id = s.row_idWHEN MATCHED THEN UPDATE SET gen_id = s.id;
現在,您可以在代理鍵上實現快速聯接。

到此,關于“Hive3怎么使用代理鍵”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利川市| 安溪县| 讷河市| 马尔康县| 渭南市| 英吉沙县| 临高县| 肥乡县| 信阳市| 乐昌市| 北宁市| 皋兰县| 南康市| 长子县| 紫金县| 鄂托克前旗| 红原县| 七台河市| 永平县| 成都市| 文化| 苍南县| 寿光市| 砚山县| 皮山县| 江源县| 邢台市| 长阳| 荃湾区| 芮城县| 泽州县| 连山| 嘉黎县| 惠东县| 阿拉善右旗| 东辽县| 福贡县| 溧阳市| 广州市| 黎城县| 海林市|