を使用して:私は、テキストファイルに次の行を抱えているスパークのJava
Some different lines....
Name : Praveen
Age : 24
Contact : 1234567890
Location : India
Some different lines....
Name : John
Contact : 1234567890
Location : UK
Some different lines....
Name : Joe
Age : 54
Contact : 1234567890
Location : US
いくつかの異なるライン間でいくつかの他の情報があることを示します。
私はファイルを読んで人情報を抽出する必要があります。いずれかのキーが見つからない場合は、空の文字列として読み取られる必要があります(2番目の人の情報には年齢がありません)。
JavaRDD<String> data = jsc.textFile("person.report");
List<String> name = data.filter(f -> f.contains("Name")).collect();
List<String> age = data.filter(f -> f.contains("Age")).collect();
List<String> contact = data.filter(f -> f.contains("Contact")).collect();
List<String> location = data.filter(f -> f.contains("Location")).collect();
上記のようにしてforループを繰り返すと、3人目の年齢が2番目の人に割り当てられます。
あなたが任意のJavaコードを共有してください –
を持っている場合、私は、Scalaの上の知識を持っている 'tを私は次のJavaバージョンを追加しました:質問はあなたが行くが、Java用の頼まれたので、これは少しより冗長以上であります同じ論理。あなたはtextinputformat.record.delimiterを変更する考えをしましたか?それが本当に重要です。 – Oli
はデリミタなしで可能ですか? –