2010-03-15 4 views
6

Bản đồ Giảm là một mẫu có vẻ như có được lực kéo gần đây và tôi bắt đầu thấy nó hiển thị trong một dự án của tôi tập trung vào đường ống xử lý sự kiện (iPhone Accelerometer và dữ liệu GPS). Tôi cần xây dựng rất nhiều cơ sở hạ tầng cho dự án này, trên thực tế nó vượt quá mã logic tương tác với nó bằng 2x. Một số thành phần mà tôi đã xây dựng trong đó EventProcessors (với các đầu vào và đầu ra, thời gian, vv), EventListeners, Aggregators và một Pipeline được tổ chức.Bản đồ Giảm khung/cơ sở hạ tầng

Điều này dẫn tôi đến câu hỏi của tôi cơ sở hạ tầng yêu cầu "phổ biến" để giảm bản đồ là gì. Kể từ khi tôi làm việc với. Net rất nhiều tôi có thể thấy bản đồ giảm cơ sở hạ tầng được xây dựng trong khuôn khổ và cấu trúc ngôn ngữ. Các ngôn ngữ chức năng hỗ trợ mô hình này. Có vẻ như mọi ngôn ngữ đều có thể được sử dụng với bản đồ giảm. Thậm chí còn có các ngôn ngữ được xây dựng xung quanh khái niệm đó (ví dụ: Đi).

Apache Hadoop mang Map-Reduce sang Java. Google có patented a map-reduce framework. Họ cung cấp loại cơ sở hạ tầng nào để cho phép bản đồ giảm? Các cấu trúc được thể hiện bằng ngôn ngữ chức năng để thực hiện bản đồ giảm là gì? Điều gì cần/nên một khuôn khổ giảm bản đồ cung cấp?

+0

Foudn bài đăng thú vị này gần đây liên quan đến MapReduce trong .NET 4.0: http://ox.no/posts/minimalistic-mapreduce-in-net-4-0-with-the-new-task-parallel-library -tpl –

+0

Cảm ơn các liên kết, nhưng nó không thực sự quá sâu về chủ đề. –

+1

Hadoop không "cố gắng" đưa MR đến Java. Nó được sử dụng bởi Facebook và Yahoo để xử lý PB dữ liệu. Đó là nhiều hơn "cố gắng". – skaffman

Trả lời

2

Vâng Hadoop dựa trên Google File System. Triển khai MapReduce của Hadoop cũng dựa trên a paper by Google. Đối với cả Google và Hadoop, thành phần cho phép MapReduce chạy thành công trên lượng lớn dữ liệu song song là hệ thống tệp được phân phối.

1

Như tôi đã hiểu, Hadoop thường dựa trên cơ sở hạ tầng HDFS và/hoặc HBase, hoạt động như cơ chế phân phối dữ liệu cho Hadoop để hoạt động.

Ngoài ra còn có Amazon Elastic MapReduce, một giao diện web sáng bóng sử dụng EC2 và Hadoop để giúp mọi thứ trở nên dễ dàng hơn. "Cơ sở hạ tầng" trong trường hợp này là EC2 và S3.

P.S. Xin lỗi vì nhận xét snippy :)