2014-02-21 2 views
1

У меня есть сценарий свиньи для загрузки, обработки и хранения данных.две функции магазина в одном сценарии свиньи

Если в одном скрипте с одной свиньей есть две функции магазина, как это работает?

a = load 'somefile' using PigStorage(','); 
b ... 
c ... 
d ... 
e = store d into 'output1'; 
f = store c into 'output2'; 

Выполняется ли это два раза для каждого магазина. То есть для магазина «е» это процесс от «а» до «е» и магазина «F» она непосредственно хранить «C», так как он уже обработан или снова начать с «а»?

ответ

2

В общем случае базовая структура map/reduce имеет формат с несколькими выводами, поэтому Pig может использовать это и запускать два сценария хранения в одном задании, например. путем отдельного сокращения, и каждый из них будет записывать в другой файл

Однако фактический план карты/сокращения зависит от того, что вы делаете, чтобы добраться до c и d - иногда для обработки потребуется больше одного задания - чтобы понять, как ваш сценарий вы можете использовать команду Pig's explain. Если вы хотите графическую визуализацию, вы можете использовать Netflix's lipstick

+0

Спасибо, это помогло мне понять концепцию. И еще одно сомнение, которое я получил здесь: если он принимает больше одного задания, он загружается два раза для каждого магазина, я имею в виду, что он загружает «somefile» два раза для каждого магазина «e» и «f» – Shri

+0

Это действительно зависит от того, что вы делаете. Обычно Свинга достаточно умна, чтобы не нагружать что-то дважды, если это возможно. Как я уже сказал, вы должны взглянуть на план, прежде чем позволить ему работать, если это важно для вас. –

+0

Спасибо, что это мне помогло. Можете ли вы предложить мне это http://stackoverflow.com/questions/21698582/cassandra-hadoop-pig-design-for-loading-and-processing-data ,,, извините, если я не должен спрашивать об этом здесь, но мне нужна помощь. – Shri

Смежные вопросы