日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

多表連接

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

本文介紹多表連接算子的使用方法及注意事項。

用途

多表連接算子可以將多張數據表按照設置的連接條件進行連接。多表連接算子是兩表交集算子的高級版本,滿足多張數據表之間多種連接類型的需求。

適用場景

計算鏈路

計算引擎

是否支持

離線

MaxCompute

Hive

HiveStorage

RDS/MySQL

Spark

使用說明

來源節點

多表連接算子必須指定2個或者2個以上的來源節點(又稱為輸入節點,每個來源節點可視為一張表),以求取這些來源節點數據合并的結果。

主表

多表連接算子中的主表是輸入節點中的其中一個節點,主表的作用主要是提供連接的字段與其它節點進行連接操作。系統默認指定第一個輸入節點為主表,用戶可以自由將其它節點設置為主表。

重要

如果已經配置了連接條件,重新設置主表將會清空已配置的連接條件。

連接類型

系統支持5種數據表連接類型,分別為左連接(left outer join)、右連接(right outer join)、外連接(full outer join)、內連接(inner join)、交叉連接(cross join)。多表連接算子支持多張數據表之間使用不同的連接類型,如節點A(主表)與節點B之間使用內連接,節點A(主表)與節點C之間使用左連接。

5種連接的定義及效果示意分別如下:

左連接:返回左表中所有的記錄以及右表中連接字段相等的記錄。

image

右連接:返回右表中所有的記錄以及左表中連接字段相等的記錄。

image

外連接:返回左表和右表所有的記錄,連接字段相當的記錄合成一條。

image

內連接:返回左表和右表中連接字段相等的記錄。

image

交叉連接:如果不指定連接條件,返回左表和右表的笛卡爾積,返回的數據行數為左表的行數乘以右表的行數。如果指定連接條件,則返回左表和右表中連接字段相等的記錄(與內連接的效果相同)。

image

說明

1、除了交叉連接外,其它類型的連接必須配置連接條件。

2、RDS/MySQL不支持外連接。

3、MaxCompute(ODPS)不支持笛卡爾積(不帶連接條件的交叉連接),如果需要使用笛卡爾積,需要在算子節點配置中開啟MapJoin并指定小表。

警告

對數據量比較大的數據表進行笛卡爾連接(不帶連接條件的交叉連接),會因數據膨脹造成結果數據量巨大,影響節點的執行耗時,并占用較多的存儲空間。

連接條件

連接條件指定了兩張數據表之間使用哪些字段進行連接,當數據表中某條數據(假定為a)的所有連接字段的值與另一張數據表某條數據(假定為b)的所有連接字段的值相同,則這a、b兩條數據成功連接。多表連接算子支持指定多張數據表之間使用不同的連接條件,如節點A(主表)與節點B之間指定連接條件"A.ID=B.ID",同時節點A(主表)與節點C之間指定其它的連接條件"A.NAME=C.NAME"。

開啟MapJoin

當對一個大表和一個或多個小表執行join操作時,可以開啟MapJoin顯式指定小表以提升運算性能。

說明

開啟MapJoin功能僅支持MaxCompute(ODPS)引擎,對其它引擎無效。

輸出字段

配置當前節點輸出到下游節點的字段列表,默認為所有來源節點的全部字段,可按需刪減。如果不同來源節點中存在相同的字段名稱或者字段代碼,需要手動修改重復的字段名稱或者字段代碼。