2009-06-07 26 views

Trả lời

30

Để thêm vào câu trả lời trên Hadoop: có ít nhất hai trình bao bọc Scala giúp làm việc với Hadoop ngon miệng hơn.

Scala MapReduce (SMR): http://scala-blogs.org/2008/09/scalable-language-and-scalable.html

SHadoop: http://jonhnny-weslley.blogspot.com/2008/05/shadoop.html

UPD 05 tháng 10 11

Ngoài ra còn có Scoobi khuôn khổ, có biểu cảm tuyệt vời.

+0

SHadoop khá cũ - nó sử dụng khung MR cũ. Tôi đã cập nhật các điểm liên quan tại một số điểm: https://github.com/schmmd/Hadoop-Scala-Commons – schmmd

+0

Tính năng Scalding cũng là một tùy chọn. https://github.com/twitter/scalding –

3

http://hadoop.apache.org/ là ngôn ngữ bất khả tri.

+0

Tôi xin lỗi nhưng tôi đã không yêu cầu thực hiện Java. Thật vậy, Hadoop có thể được cắm vào Scala nhưng mã soạn sẵn phải được viết bằng Java. –

+1

Viết một ScalaHadoopAdapter mà sẽ chăm sóc của tất cả các boilerplate và xuất bản nó như là miễn phí/mã nguồn mở? – yfeldblum

+7

các boilerplate không cần phải được viết bằng java. – jshen

2

Bạn có thể quan tâm đến scouchdb, giao diện Scala để sử dụng CouchDB.

Một ý tưởng khác là sử dụng GridGain. ScalaDudes có một ví dụ về cách sử dụng GridGain với Scala. Và here là một ví dụ khác.

2

Một thời gian ngắn, tôi đã gặp phải vấn đề này và kết thúc bằng việc viết một cơ sở hạ tầng nhỏ để giúp dễ dàng sử dụng Hadoop từ Scala. Tôi đã tự mình sử dụng nó một thời gian, nhưng cuối cùng tôi đã có mặt để đưa nó lên web. Nó được đặt tên (rất ban đầu) ScalaHadoop.

1

để biết thêm điểm jshen:

phát trực tuyến hadoop chỉ đơn giản sử dụng ổ cắm. bằng cách sử dụng các luồng unix, mã của bạn (bất kỳ ngôn ngữ nào) chỉ đơn giản là có thể đọc từ các dòng được phân tách bằng thẻ stdin và đầu ra. triển khai trình ánh xạ và nếu cần, bộ giảm tốc (và nếu có liên quan, hãy định cấu hình đó làm bộ kết hợp).

2

Đối với API scala trên đầu trang của kiểm tra hadoop Scoobi, nó vẫn còn trong phát triển nặng nhưng cho thấy rất nhiều lời hứa. Ngoài ra còn có một số nỗ lực để triển khai các bộ sưu tập được phân phối trên đỉnh của hadoop trong Scala incubator, nhưng nỗ lực đó không thể sử dụng được.

Ngoài ra còn có một trình bao bọc scala mới để xếp tầng từ Twitter, được gọi là Scalding. Sau khi tìm kiếm rất ngắn gọn tài liệu về Scalding, có vẻ như rằng trong khi nó làm cho việc tích hợp với tầng mượt mà hơn, nó vẫn không giải quyết được vấn đề chính với tầng lớp: loại an toàn. Mọi hoạt động trong tầng hoạt động trên các bộ xếp tầng (về cơ bản là một danh sách các giá trị trường có hoặc không có lược đồ riêng) có nghĩa là lỗi loại, I.e. Tham gia một khóa dưới dạng Chuỗi và khóa dưới dạng dẫn dài để lỗi thời gian chạy.

+0

Scalding có API an toàn loại: https://github.com/twitter/scalding/wiki/Type-safe-api-reference và trong API trường (mà bạn đang đề cập đến), tham gia một chuỗi dài không gây ra trường hợp ngoại lệ thời gian chạy (nếu chúng là cả hai số). Tất nhiên, trong API an toàn kiểu như vậy, việc tham gia bị cấm bởi trình biên dịch. –

3

Cá nhân, tôi đã trở thành một fan hâm mộ lớn của Spark

http://spark-project.org/

Bạn có khả năng để thực hiện các bộ nhớ máy tính cụm, giảm đáng kể chi phí bạn sẽ kinh nghiệm từ hoạt động MapReduce đĩa chuyên sâu.

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