JOIN을 사용하여 LATERAL VIEW가있는 거대한 테이블을 필터링하려고한다고 가정합니다. 예 :하이브의 측면보기를 필터링하는 방법은 무엇입니까?
SELECT things.*
FROM a_few_objects fo join
(SELECT an_id,
object.id as object_id,
object.big_thing
FROM big_table
LATERAL VIEW EXPLODE(outer_things) ot AS outer_thing
LATERAL VIEW EXPLODE(objects) o AS object) things
ON fo.objectid = things.object_id
(I 디스크에 그림을 그리 듯 거대한 테이블을 생각)은 "일"하위 쿼리를 이렇게보다 인스턴스화하는보다 효율적인 방법이 있나요?
내부 쿼리의 WHERE 절에 a_few_objects의 행을 넣을 수 있지만 하이브에서 a_few_objects를 지정하려고하므로 쿼리를 항상 변경할 필요가 없습니다.
서브 쿼리 내부에 조인을 넣으면 하이브가 혼란스러워집니다. 하이브 0.13을 사용하고 있습니다.
안녕하세요. 아무튼 해결책이 있으십니까? –