私のアプリケーションは、MongoDBをプラットフォームとして構築されています。 DB内の1つのコレクションには膨大な量のデータがあり、計算によって分析データを取得して生成するためにapache sparkが選択されています。 Spark Connector for MongoDBをMongoDBと通信するように設定しました。 pysparkを使用してMongoDBコレクションをクエリし、mongodbクエリの結果セットで構成されるデータフレームを構築する必要があります。 私に適切な解決策を提案してください。MongoDBからフィルタリングされたレコードを含むSparkデータフレームを構築するには?
答えて
あなたがそうのように、直接データフレームにデータをロードすることができます。詳細は
# Create the dataframe
df = sqlContext.read.format("com.mongodb.spark.sql.DefaultSource").option("uri", "mongodb://127.0.0.1/mydb.mycoll").load()
# Filter the data via the api
df.filter(people.age > 30)
# Filter via sql
df.registerTempTable("people")
over_thirty = sqlContext.sql("SELECT name, age FROM people WHERE age > 30")
はモンゴスパークコネクタPython APIセクションまたはintroduction.pyを参照してください。 SQLクエリは変換され、コネクターに返され、MongoDBでデータを照会してからsparkクラスターに送ることができます。
あなたはまた、スパークに結果を返す前に、コレクションに適用するために、独自のaggregation pipelineを提供することができます。
dfr = sqlContext.read.option("pipeline", "[{ $match: { name: { $exists: true } } }]")
df = dfr.option("uri", ...).format("com.mongodb.spark.sql.DefaultSource").load()
ありがとうございます@ロスです。しかし、データフレーム全体にフィルタを適用するのではなく、データベースクエリにフィルタを直接適用する必要があります。 –
これはコレクションのクエリに変換され、コネクタは戻りますフィルタリングされた結果。 – Ross
コードスニペットで詳細を教えてください –
- 1. NDKプロジェクトに事前構築された共有オブジェクトファイルを含む
- 2. mysql row [x]から構築された固定長配列を含むベクトル
- 3. Apache Sparkでは、データベース(MySQL、MongoDBなど)からRDDを構築できますか?
- 4. txtからデータフレームを構築する
- 5. タスクを含むモジュールを構築する
- 6. ジェンキンスは、生成されたレポートを含むドッカーコンテナ内に構築します
- 7. サブセット反応的な式から構築されたデータフレーム
- 8. フィルタリングされた配列の結果から配列を構築する
- 9. 保存されたデータを含むApp Inventor 2でアプリケーションを構築する
- 10. タイトルにボタンを含むQGroupBoxを構築するには?
- 11. ソースから構築されたプログラムをアップデートするには
- 12. Django:フィルタリングされたドロップダウンメニューを構築することは可能ですか?
- 13. CMakeを含むYoctoでSDKを構築するには?
- 14. 文字列のベクトル(スペースを含む)を構築するには?
- 15. フィルタリングできるブラックベリー6.0でカスタマイズされたリストを構築するには?
- 16. MongoDBでクエリを構築するには?
- 17. 関数値を含む列をSparkRでデータフレームをSparkに追加
- 18. MongoDBからSparkを読み込み、objectIdインデックスフィールドでフィルタリングします
- 19. Sparkデータフレームから作成されたテーブルの行を削除するには?
- 20. perl:フィルタリングされた値の警告を含むgrepによるフィルタリング
- 21. R textminingデータフレームのサブセットで構造化されたコーパスを構築する
- 22. 最大値を含むPSQLクエリを構築する方法は?
- 23. 与えられたエッジポイントからメッシュを構築するには?
- 24. アクセスデータベースから構築されたDatagridview - コンボボックス
- 25. sparkデータフレームでgroupByを適用した後のフィルタリングされた列の割合
- 26. MongoDB:特定の文字のみを含む文字列をフィルタリングするには?
- 27. アンドロイド用のx264ライブラリを含むffmpegを構築するにはどうしたらいいですか?
- 28. R dplyr。数値ベクトルの列を含むデータフレームをフィルタリングします。
- 29. あらかじめ構築されたWARからのGradle EARの構築
- 30. ルーメンはモデルコレクションからシリアル化された構造を構築する方法?
なぜあなたは[Stratioコネクタ](https://github.com/Stratio/をしようとしないでくださいSpark-MongoDB)?このコネクターはデータフレームを直接返します –
@JohnZeng以下はstratioコネクターを使用して実装したコードスニペットです。 (ホスト= 'localhost:27017'、データベース= 'mydb'、コレクション= 'mycoll')。load() –
あなたはplsを編集できますか?あなたの質問とスニペットを貼り付けますか?私はあなたがこれを呼んだ後ですでにデータフレームを取得していると思います。あなたの質問がMongoDBのコネクタにリンクしているので、今何を望んでいるのか混乱しています。 –