MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách truy vấn khi kết nối mongodb với apache-spark

Tôi không nghĩ rằng có một truy vấn "đúng" - bạn cần phải truy vấn dựa trên dữ liệu bạn muốn xử lý

Tôi gặp phải vấn đề tương tự.

Tôi tin rằng newAPIHadoopRDD, được cung cấp bởi MongoInputSplit.class, không tính đến truy vấn khi tính toán các phần tách. Nó chỉ được áp dụng sau khi tính toán các phần chia nhỏ. Điều này có nghĩa là cho dù truy vấn của bạn có thể tinh gọn đến đâu, số lượng phần tách sẽ vẫn như nhau và sẽ tỷ lệ thuận với kích thước của bộ sưu tập.

newAPIHadoopRDD đang sử dụng StandaloneMongoSplitter. Lưu ý rằng lớp này không sử dụng truy vấn để tính toán ranh giới phân chia. Nó chỉ đang sử dụng lệnh "splitVector" nội bộ của mongo; từ tài liệu tại đây - http://api.mongodb.org/internal/current/ command.html , có vẻ như nó không tính đến truy vấn.

Tôi không có một giải pháp tốt mặc dù. Một cách tiếp cận tốt hơn sẽ chỉ chia bộ sưu tập mongo sau tính toán truy vấn, nhưng điều này yêu cầu một triển khai khác của bộ tách. Dưới đây là một số bài đọc hay về vấn đề này: http:// www.ikanow.com/how-well-does-mongodb-integrate-with-hadoop/




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhập tệp CSV (chứa một số ký tự không phải UTF8) trong MongoDb

  2. mục đích thực sự của $ ref (DBRef) trong MongoDb là gì

  3. Cách thay thế chuỗi trong tất cả các tài liệu trong Mongo

  4. Làm cách nào để viết truy vấn cập nhật trong mongodb cho mảng lồng nhau sâu?

  5. Tìm tài liệu trống trong cơ sở dữ liệu