我正在按照以下步骤进行工会:
SELECT c1, c2
FROM T1
[WHERE conditions]
UNION ALL
SELECT c1, c2
FROM T2
[WHERE conditions];
T2中的c1被计算为两倍,其中T1中的c1是字符串。
当我在T1中将c1转换为两倍时,出现以下错误:
FAILED:SemanticException生成地图加入任务错误:未能异常生成新的mapJoin运算符:索引:0,大小:0
此表(上述查询的输出)将插入到c1列为double的另一个表中。
最有可能您正在使用视图,这就是联接所在的位置。
尝试按照建议的here禁用MapJoin作为解决方法:
set hive.auto.convert.join=false;
或在查询中使用前实例化视图(加载到表中。)>