2011-01-12 40 views
8

Tôi là một newbie cố gắng hiểu làm thế nào sẽ mahout và hadoop được sử dụng để lọc cộng tác. Tôi có thiết lập cassandra đơn nút. Tôi muốn tìm nạp dữ liệu từ cassandraSử dụng mahout và hadoop

Tôi có thể tìm các bước cài đặt rõ ràng cho hadoop trước và sau đó mahout để làm việc với cassandra?

Trả lời

7

(Tôi nghĩ rằng đây là câu hỏi tương tự như bạn chỉ hỏi về [email protected]? Sao chép câu trả lời của tôi.)

Bạn có thể không cần Hadoop ở tất cả, và nếu bạn không, Tôi khuyên bạn không nên sử dụng nó để đơn giản. Đó là "điều ác cần thiết" để vượt qua một điểm nhất định.

Bạn có thể có dữ liệu trên Cassandra nhưng bạn sẽ muốn có thể đọc nó vào bộ nhớ. Nếu bạn có thể kết xuất dưới dạng tệp, bạn có thể sử dụng FileDataModel. Hoặc, bạn có thể mô phỏng mã trong FileDataModel để tạo mã dựa trên Cassandra.

Sau đó, hai nhu cầu của bạn có thể dễ dàng trả lời:

  1. Đây không phải là ngay cả một khuyến nghị vấn đề. Chỉ cần chọn triển khai của UserSimilarity và sử dụng nó để so sánh người dùng với tất cả những người khác và chọn những người có độ tương đồng cao nhất . (Bao gói với CachingUserSimilarity sẽ giúp một lô hàng .)

  2. Đây chỉ là một vấn đề giới thiệu . Sử dụng GenericUserBasedRecommender với UserSimilarity và DataModel của bạn và bạn đã hoàn tất.

Tất nhiên điều này có thể phức tạp hơn nhiều so với điều này, nhưng đây là điểm bắt đầu tốt.

Nếu sau này bạn sử dụng Hadoop, có bạn phải thiết lập Hadoop theo hướng dẫn của Hadoop. Không có "thiết lập" Mahout. Đối với những người giới thiệu, bạn sẽ xem xét một trong các lớp RecommenderJob để gọi các công việc cần thiết trên cụm Hadoop của bạn. Bạn sẽ chạy nó với lệnh "hadoop" - một lần nữa, đây là nơi bạn cần phải hiểu Hadoop.

Cuốn sách Mahout in Action viết hầu hết các công việc của Mahout Hadoop một cách chi tiết.

3

Sách Mahout in Action đã thực sự cứu tôi khỏi sự thiếu tài liệu.

Tôi đã theo dõi https://issues.apache.org/jira/browse/MAHOUT-180 ... đề xuất cú pháp 'hadoop -jar' chỉ cho tôi lỗi. Cuốn sách có 'jar' thay vào đó, và với điều đó sửa chữa công việc thử nghiệm của tôi là hạnh phúc chạy.

Dưới đây là những gì tôi đã làm:

  1. sử dụng các tiện ích tại http://bickson.blogspot.com/2011/02/mahout-svd-matrix-factorization.html?showComment=1298565709376#c3501116664672385942 để chuyển đổi một đại diện CSV của ma trận của tôi sang một định dạng tập tin quản tượng. Sao chép nó vào hệ thống tập tin Hadoop.

  2. Đã tải lên mẫu mahout-example-0.5-SNAPSHOT-job.jar từ một Mahout mới được tạo trên máy tính xách tay của tôi lên hộp điều khiển của cụm hadoop. Không có công cụ nào khác trên đó.

  3. Ran này: (giả định hadoop được cấu hình; mà tôi xác nhận với dfs -ls/người dùng/danbri)

hadoop jar ./mahout-examples-0.5-SNAPSHOT-job.jar \ org.apache.mahout.math.hadoop.decomposer.DistributedLanczosSolver \ - đầu ra svdoutput.mht - output outpath --numRows 0 --numCols 4 --rank 50

... bây giờ tôi có được quyền này không là một vấn đề khác, nhưng có vẻ như đang làm điều gì đó!

Các vấn đề liên quan