2016-04-25 9 views
0

誰か助けてもらえますか?どうもありがとう。これは私のコードです:ファイル内の母音の数

+0

何の問題あなたがこれを実行した後に直面しています? –

答えて

0

まず単語にラインをトークン化し、その後TOBAGを使用してのwords.Instead(*)の文字をスライスするために置き換えるwords.Useから文字を取得し、に沿って文字を分割するためにトークン化を使用しますaeiouをフィルタリングし、文字でグループ化してカウントを取得します。

PigScript

A = LOAD 'test4.txt' as (line:chararray); 
B = FOREACH A GENERATE FLATTEN(TOKENIZE(line)) as words; 
C = FOREACH B GENERATE FLATTEN(TOKENIZE(REPLACE(LOWER(words),'','|'),'|')) as letter; 
D = FILTER C BY (letter == 'a' or letter == 'e' or letter == 'i' or letter == 'o' or letter == 'u'); 
E = group D by letter; 
F = FOREACH E GENERATE group as letter,COUNT(D.letter) as total; 
DUMP F; 

出力

Output

+0

ありがとうございました!私はコードを修正しました。それは動作します! – Titan

0

結果を得るには、次のコードを使用してください。

A = LOAD 'input.txt' AS (line:chararray); B = FOREACH A GENERATE FLATTEN(TOKENIZE(REPLACE(LOWER((chararray)$0),'','|'),'|')) as letter:chararray; result = FILTER B by (letter == 'a' or letter == 'e' or letter == 'i' or letter == 'o' or letter == 'u'); E = GROUP result BY letter; F = FOREACH E GENERATE group, COUNT(result); DUMP F;

関連する問題