동일한 구조 (스키마)의 하이브 테이블이 두 개 있습니다. 동일한 구조의 단일 테이블로 이들을 연결하는 효율적인 SQL 요청은 무엇입니까?하이브 : 두 테이블을 빠르게 하나로 연결 하시겠습니까?
업데이트, 이것은 내 경우에는 매우 빠르게 작동합니다
AS SELECT 표 XY를 만들 * FROM ( SELECT * UNION X FROM
ALL
SELECT *
Y FROM ) TMP;
동일한 구조 (스키마)의 하이브 테이블이 두 개 있습니다. 동일한 구조의 단일 테이블로 이들을 연결하는 효율적인 SQL 요청은 무엇입니까?하이브 : 두 테이블을 빠르게 하나로 연결 하시겠습니까?
업데이트, 이것은 내 경우에는 매우 빠르게 작동합니다
AS SELECT 표 XY를 만들 * FROM ( SELECT * UNION X FROM
ALL
SELECT *
Y FROM ) TMP;
table_A
과 table_b
을 하나로 병합하려는 경우 가장 쉬운 방법은 UNION ALL
연산자를 사용하는 것입니다. 여기서 구문과 사용 사례를 찾을 수 있습니다. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Union
"union all"은 올바른 해결책이지만 비싸고 리소스/시간이 많이 걸릴 수 있습니다. 테이블 A와 테이블 B에 두 개의 파티션이있는 테이블을 만드는 것이 좋습니다. 이렇게하면 병합 (또는 모두 병합) 할 필요가 없습니다. 두 파티션이 채워지 자마자 병합 된 테이블을 사용할 수 있습니다.
이 질문에 대한 답변을 제공하지 않습니다. 충분한 [평판] (https://stackoverflow.com/help/whats-reputation)이 있으면 [모든 게시물에 주석 달기] (https://stackoverflow.com/help/privileges/comment) 할 수 있습니다. 대신, [질문자의 설명이 필요없는 답변을 제공하십시오] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do- 대신). - [From Review] (리뷰/저품절 게시물/18915443) –
성공하지 못한 것이 있습니까? – vefthym
내 질문에 대한 답변을 참조하십시오 – DarqMoth