2015-05-06 7 views
0

У меня есть два оператора нагрузки A и B. В каждом из них у меня есть суррогатный ключ. Я хочу сопоставить столбцы суррогатных ключей, если оба ключа будут соответствовать сохраненным данным.Как согласовать два выражения нагрузки в свинье

Я пробовал следующий код.

A = LOAD 'a/data/' using PigStorage('\t') as (SourceWebSite:chararray,PropertyID:chararray,ListedOn:chararray,ContactName:chararray,TotalViews:int,Price:chararray); 
B = LOAD 'b/data/' using PigStorage('\t') as (SourceWebsite:chararray,PropertyType:chararray,IPLSNO:int,Locality:chararray,City:chararray,Price:chararray); 
C = COGROUP A BY Price, B BY Price; 
D = FOREACH C GENERATE FLATTEN((IsEmpty(A) ? null : A)), FLATTEN((IsEmpty(B) ? null : B)); 

Вышеприведенная команда печатает все данные.

ответ

0

Если я правильно понимаю, вы хотели бы иметь данные о дозе, где и А, и В имеют какие-либо данные по данной цене, правильно? Чем вы, возможно, придется использовать фильтр:

D = FILTER C BY (NOT IsEmpty(A) AND NOT IsEmpty(B)); 

Д будет содержать строки этих данных, где А и B имеют значение по цене используемой группы.

+0

Чем, конечно, сгладить D: E = ПРЕДПОЛАГАЕМЫЙ ГЕНЕРАТОР (А), ПЛАТЕН (B); – kecso

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

  • Нет связанных вопросов^_^