2010-12-08 9 views
6

数字が "3"のフィールドを含むCSVファイルを読み込んでいます。 PigLatinでこのフィールドを「3」から3に変換できますか? SUM() - 関数を使用する必要があります。PigLatinで "3"を3に変換する

ありがとうございました!

+3

アウェイウェイはいつも "エドレー"と言っていますか? (私はあなたが実際に言及していることを知っている、私はちょうど回っている:P) – BoltClock

+0

何を意味するのか分からない? – Christoph

+1

Pig Latin(Hadoopサブプロジェクトではなく「言語」)が主にアメリカのものか、主にネイティブの英語話者が知っているものなのでしょうか? Christophがドイツにいるようです。とにかく、Christoph、Pig Latinは、最初の音を単語の最後に移動し、 "ay"を追加することによって、英語の単語が変更されるプレイ言語です。 –

答えて

6

TOKENIZE関数は、単語区切り文字と見なされるさまざまな文字列を分割します。そのうちの1つは引用符です。したがって、「3」をトークン化して真ん中のアイテムを取る場合は、3だけにしてください。

9

何ちょうどREPLACE"の削除について?例えば

data = 
    LOAD 'data.txt' AS (num:CHARARRAY); 

numbers = 
    FOREACH data 
    GENERATE 
     (INT) REPLACE(num, '\\"', ''); 

次にあなたがGROUPSUMことができます。

1つの利点は、返された文字列を直接数値にキャストできることです(バッグを扱う必要はありません)。 REGEX_EXTRACTも同じことをするために使用できます。

+0

私は1より大きいすべての値を選ぶ必要があるフィルタを実行しなければなりませんでした。 'inputData = FILTER inputData BY(INT) REPLACE((chararray)value# 'val'、 '\\ "'、 '')> 1;'いいよね? – zengr

関連する問題