2013-06-21 3 views
1

돼지 스크립트가 다음과 같이 입력되어 있습니다.돼지 라틴어 스크립트에서 여러 STORES를 다루는 방법

| Col A | Col B | 콜 C | Col D | Col E | |

X = 골 A :

나는 여러 열을 기준으로 그룹화 이와 같은 관계를 가지고 총액 C | 총 Col D |

Y = Col B | 총 Col D | Sum Col E |

Z는 = ...

ETC

내가 저장 한 다음 X, Y, 따라서 서로 다른 폴더에 Z가 STORE 여러 번 호출 될 필요가있다. 돼지는 데이터를 한 번만로드하고 처리 한 다음 매장을 수행하는 방법을 알고 있습니까?

+0

왜 시도하고 알아 내면 어떨까요? –

답변

0

예, 돼지는 알고 있습니다. 당신은 하나의 MR 업무를 갖습니다.

0

입력은 한 번만로드되지만 각 GROUP BY에는 별도의 MapReduce 작업이 필요합니다.

예제에서 Col A과 으로 그룹화하므로 스크립트는 두 가지 작업으로 컴파일됩니다.

+0

돼지는 이러한 맵 축소 작업을 단일 하둡 작업으로 결합합니다. –

+0

아니요 - 그의 예에는 여러 열이 그룹화 된 관계가 여러 개 있습니다. 하나 이상의 작업이 될 것입니다. – seedhead

+1

돼지는 이러한 맵 축소 작업을 단일 하둡 작업으로 결합합니다. 이를 다중 쿼리라고합니다. http://ofps.oreilly.com/titles/9781449302641/advanced_pig_latin.html에서 "비선형 데이터 흐름"섹션을 참조하십시오. "돼지는 많은 경우에 여러 개의 그룹 운영자를 결합 할 수도 있습니다."라는 문장에 유의하십시오. 이것은 바로 그 경우 중 하나입니다. –

0

정말 (예를 들어,이 중 하나가 같은 왜곡 등을 조인 당신이 할 수있는) 어떤 경우 돼지에서 는 당신에게 논리적 인 계획을 보여줍니다 EXPLAIN 키워드, 물리적 계획을 가지고 있으며, 무엇의 당신이 가지고있는 특정 돼지 코드에 따라 달라집니다 여기서 관련성이있는지도/축소 계획은 관련성을 창출하기 위해 수행됩니다. 자세한 내용은 Pig's manual을 참조하십시오.

관련 문제