0
단일 테이블 (크기 약 12GB)에 대한 단일 쿼리에서 측면보기가 여러 번 (약 9 번) 폭발했습니다. 이로 인해 엄청난 양의지도 측 데이터 (100Pb +)가 생성되었습니다. 12GB에서이 양의 데이터가 어떻게 생성되었는지 이해할 수 없었습니다.하이브 측면도 분해 내부 메커니즘
누군가가 측면 폭발이 작동하는 방식을 설명해주십시오. (내부적으로)? 사전에
감사
단일 테이블 (크기 약 12GB)에 대한 단일 쿼리에서 측면보기가 여러 번 (약 9 번) 폭발했습니다. 이로 인해 엄청난 양의지도 측 데이터 (100Pb +)가 생성되었습니다. 12GB에서이 양의 데이터가 어떻게 생성되었는지 이해할 수 없었습니다.하이브 측면도 분해 내부 메커니즘
누군가가 측면 폭발이 작동하는 방식을 설명해주십시오. (내부적으로)? 사전에
감사
데모
create table mytable (a1 array<int>,a2 array<int>,a3 array<int>);
insert into mytable select array(1,2),array(3,4,5),array(6,7,8,9);
select *
from mytable
lateral view explode (a1) e1 as a1_val
lateral view explode (a2) e2 as a2_val
lateral view explode (a3) e3 as a3_val
;
+-------+---------+-----------+--------+--------+--------+
| a1 | a2 | a3 | a1_val | a2_val | a3_val |
+-------+---------+-----------+--------+--------+--------+
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 3 | 6 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 3 | 7 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 3 | 8 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 3 | 9 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 4 | 6 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 4 | 7 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 4 | 8 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 4 | 9 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 5 | 6 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 5 | 7 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 5 | 8 |
| [1,2] | [3,4,5] | [6,7,8,9] | 1 | 5 | 9 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 3 | 6 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 3 | 7 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 3 | 8 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 3 | 9 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 4 | 6 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 4 | 7 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 4 | 8 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 4 | 9 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 5 | 6 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 5 | 7 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 5 | 8 |
| [1,2] | [3,4,5] | [6,7,8,9] | 2 | 5 | 9 |
+-------+---------+-----------+--------+--------+--------+
안녕하세요 두두, 답변을 주셔서 감사합니다. 나는 측면보기의 내부 메커니즘이 폭발하고 Hive가 쿼리를 내부적으로 어떻게 실행하는지 알고 싶다. –
내부는 귀하의 문제와 관련이 없습니다. 배열 폭발은 요소 당 레코드를 생성합니다. 폭발하는 다중 배열은 제품 조인과 동일합니다. –
죄송합니다 Dudu, 깜빡했습니다. 감사. –