3
에 값을 기준으로 필터링 기록, 난 내가 사용하고있는 단순성을 위해서 다음과 같습니다 데이터 파일 (메시지, 이메일, 사용자 세션, spamType)Piglatin : 나는 Piglatin에 안돼서 가방
이 단지 스팸 /하지 스팸 -이 필드의 값은 일반적으로 100여 가지 변종
message1 [email protected] 12345 spam
message2 [email protected] 12345 spam
message3 [email protected] 12345 not-spam
message10 [email protected] 90879 not-spam
message11 [email protected] 90879 not-spam
한 사용자의 메시지 중 하나가 스팸으로 표시하면 내가 필요로하는 모든
입니다 -/제거 그의 모든 메시지를 필터링 .. 따라서 위 출력은message10 [email protected] 90879 not-spam
message11 [email protected] 90879 not-spam
처럼 보입니다. 그들은 내가 그룹화를 사용하여 위의를 해결하기 위해 노력하고 동일한 사용자/세션
에서하기 때문에하고 .. 어떤 도움을 중첩
DATA = LOAD './spamdata' using PigStorage() as (message:chararray, mailid:chararray, session:long, spamType:chararray);
GDATA = GROUP DATA BY (mailid,session);
GDATA의 외모를 평가 -210
다른 3 메시지가 제거됩니다
GDATA: {group: (message: chararray,session: long),DATA: {(message: chararray,mailid: chararray,session: long,spamType: chararray)}}
처럼 필요한 모든 가방의 요소 중 어느 것도 요소의 '하지 스팸'유형이 없습니다이 그룹의 요소를 덤프하는 것입니다
해결해 주셔서 감사합니다. – rtuser