数字が "3"のフィールドを含むCSVファイルを読み込んでいます。 PigLatinでこのフィールドを「3」から3に変換できますか? SUM() - 関数を使用する必要があります。PigLatinで "3"を3に変換する
ありがとうございました!
数字が "3"のフィールドを含むCSVファイルを読み込んでいます。 PigLatinでこのフィールドを「3」から3に変換できますか? SUM() - 関数を使用する必要があります。PigLatinで "3"を3に変換する
ありがとうございました!
TOKENIZE
関数は、単語区切り文字と見なされるさまざまな文字列を分割します。そのうちの1つは引用符です。したがって、「3」をトークン化して真ん中のアイテムを取る場合は、3だけにしてください。
引用符を取り除くUDFを書くか、JacobMの手法を使用します。
その後、chararray '3'
をint
:(int)$1
または(int)myvalue
にキャストする必要があります。この方法でsum
を使用できます。
http://pig.apache.org/docs/r0.5.0/piglatin_reference.html#Cast+Operators
何ちょうどREPLACEで"
の削除について?例えば
:
data =
LOAD 'data.txt' AS (num:CHARARRAY);
numbers =
FOREACH data
GENERATE
(INT) REPLACE(num, '\\"', '');
次にあなたがGROUP
とSUM
ことができます。
1つの利点は、返された文字列を直接数値にキャストできることです(バッグを扱う必要はありません)。 REGEX_EXTRACTも同じことをするために使用できます。
私は1より大きいすべての値を選ぶ必要があるフィルタを実行しなければなりませんでした。 'inputData = FILTER inputData BY(INT) REPLACE((chararray)value# 'val'、 '\\ "'、 '')> 1;'いいよね? – zengr
アウェイウェイはいつも "エドレー"と言っていますか? (私はあなたが実際に言及していることを知っている、私はちょうど回っている:P) – BoltClock
何を意味するのか分からない? – Christoph
Pig Latin(Hadoopサブプロジェクトではなく「言語」)が主にアメリカのものか、主にネイティブの英語話者が知っているものなのでしょうか? Christophがドイツにいるようです。とにかく、Christoph、Pig Latinは、最初の音を単語の最後に移動し、 "ay"を追加することによって、英語の単語が変更されるプレイ言語です。 –