錯誤碼:ODPS-0130241: Illegal union operation
錯誤1:Illegal union operation - type mismatch for column xx of UNION, left is YY while right is ZZ
錯誤信息示例
ODPS-0130241:[m,n] Illegal union operation - type mismatch for column xx of UNION, left is YY while right is ZZ
問題描述
兩個表進行union操作的時候,要求這兩個表的數據類型必須匹配,否則會報錯。
解決方案
修改query,必要時可以執行顯式類型轉換,以保證union兩邊數據的類型相匹配。
Query示例
--創建表
odps> create table mc_test1
(
a string
);
odps> create table mc_test2
(
a bigint
);
--錯誤,union兩邊的數據類型不匹配
odps> (select a
from mc_test1)
union all
(select a
from mc_test2);
FAILED: ODPS-0130241:[4,9] Illegal union operation - type mismatch for column 0 of UNION, left is STRING while right is BIGINT
--正確,使用顯式類型轉換以保證union兩邊的數據類型一致:
odps> (select a
from mc_test1)
union all
(select cast(a as string)
from mc_test2);
文檔內容是否對您有幫助?