1
私は、HDFSのマッパーコード(Rコード)のテキストを1行ずつ読み込んでいます。テキストは次のようになります。ファイル接続から読み込まれた文字列から " N"を取り除くR
15059773^A3872^A\N^A2015-09-05^A\N^A2015-09-01^A3^A0^A0^A\N^Ashirts adult male^Axl^A\N^A5183656^Ac1 13 me ult tee c^Ablue^Awatersport blue^A\N^A\N^A\N^A0^A\N^A3^Amn^A45.05273^A-93.365555^A100^A131^A27.0^A13.0^A8.0^A85.0^A57.0^A21.0^A1012.0^A0^A0^A1^A0^A43^A3^A4
15432724^A7720^A\N^A2015-09-05^A\N^A2015-09-01^A3^A0^A0^A\N^Ashirts adult male^Al^A\N^A5183656^Ac1 13 me ult tee c^Ablue^Ablue foil^A\N^A\N^A\N^A0^A\N^A3^Amn^A45.05273^A-93.365555^A100^A131^A27.0^A13.0^A8.0^A85.0^A57.0^A21.0^A1012.0^A0^A0^A1^A0^A43^A3^A4
とループでそれを読むために使用されるコードです:
いくつかの空白がある場合、私のフィールドセパレータと\N
が存在しているとして、私は
^A
を持っている上にテキストで
input <- file("stdin", "r")
while(length(line <- readLines(input, n=1, warn=FALSE)) > 0)
{
}
close(input)
(RのNA)。私はを\001
で分けることができました(どのように動作するのかわかりません)。しかし、私は\N
を置き換える際に問題に直面しています。私は提案を試した: remove all line breaks (enter symbols) from the string using Rといくつか;しかし、何も動作しません。私も\\N
で試しましたが、それもうまくいきません。
最初の行のための私の予想出力があるので、私はラインで、この行を処理していたよう:
"15059773" "3872" NA "2015-09-05" NA "2015-09-01" "3" "0" "0" NA "shirts adult male" "xl" NA "5183656" "c1 13 me ult tee c" "blue" "watersport blue" NA NA NA "0" NA "3" "mn" "45.05273" "-93.365555" "100" "131" "27.0" "13.0" "8.0" "85.0" "57.0" "21.0" "1012.0" "0" "0" "1" "0" "43" "3" "4"