2017-12-14 15 views
-1

私はいくつかのjsonドキュメントを持つJavaRDDを持っていますが、JavaRDDをArrayList内のIDリストに基づいてフィルタリングしたいのですが、基本的には、 ArrayList内にあるID。私は、これはjsonがあなたのRDDの各行に保存されているどのようなもので、簡単にデータセットではなくJavaRDD高レベルの抜粋だJavaを使用してリストを使用してJavaRDDをフィルタリングする方法

+0

方法あなたはRDDでJSONを表現していますか、あなたが参照しているIDにどのようにアクセスしていますか?一般的に、JavaRDDには、RDDの行で動作する関数パラメータを取る 'filter()'メソッドがあります(つまり、各行に正確に何が格納されているか、つまりJSONの表現方法) 。 –

+0

申し訳ありませんが、このようなjsonドキュメントを例に挙げていませんでした。[ { "$ 1":{ "cas":1513356396096127000、 "フラグ ":33554432、 "ID": "CD1e23456782"、 "タイプ": "JSON CD1e23456782" " } } ]とArrayListのが[ある"、 "このようなCDde23456782"]、私はJSON形式のドキュメントを取得することができますid by –

+0

申し訳ありませんが、まだ私には明らかではありません。 '$ 1'とは何ですか?それぞれのJSON文書は '$ 1'プロパティを持っていますか、それとも別のものですか?実際のJSONは単に{{"cas":1513356396096127000、 "flags":33554432、 "id": "CD1e23456782"、 "type": "json"} 'ですか?また、JSONはRDDにStringとして格納されているのですか、またはある種のオブジェクト構造として格納されていますか?あなたはオリジナルの質問を編集して、コメントを書くのではなく、情報を追加することができます。 –

答えて

0
javaRdd.filter(json -> arrayList.contains(json.get("id"))) 

でそれを行う方法がわからない行うことができます知っている(私はわからないんだけど何構造の種類があり、どのようにJSONが表されている)、arrayListは、IDのリストである、とjson.get("id")はちょうどあなたのJSONからIDを取得するいくつかの方法意味 - それは、より具体的には難しい再び、より多くの情報なしに

+0

Alex、arraylistにないすべてのjson文書を新しいRDDに手に入れる方法を知っていますか? –

+0

文書リストarrylistでは**ではありません**フィルタ条件を単に逆にします: 'javaRdd.filter(json - >!arrayList.contains(json.get(" id ")))' –

関連する問題