我正在尝试从Hive中的两个表中进行选择,但它似乎给了我一个错误
select b.item item1, street.id as street_id, street.name as street_name,
c.color as color_id, 'cities' as city
from mytable.first b, mytable.second c
LATERAL VIEW EXPLODE(b.cities) citiestbl as street
这给了我一个
编译语句时出错:FAILED:SemanticException [错误10085]:第1行:120不支持使用LATERAL VIEW加入' c'
答案 0 :(得分:0)
您正在查询中的第一个和第二个表之间执行cross join
并使用lateral view
。如错误消息所示,不支持join
lateral view
。
不确定您是否需要交叉连接,但重新将查询重写为
select bc.item as item1, citiestbl.street, bc.color as color_id, bc.cities as city
from (select b.item,c.color,b.cities
from mytable.first b
cross join mytable.second c) bc
LATERAL VIEW EXPLODE(bc.cities) citiestbl as street
--Note that citiestbl is a table alias and street is the column-alias for the exploded column
--Only the exploded column can be referred to in the select, which is street in this case