Trang Chủ Tài chính Cá nhân Làm thế nào để sử dụng MapReduce cho dữ liệu lớn - núm vú

Làm thế nào để sử dụng MapReduce cho dữ liệu lớn - núm vú

Mục lục:

Video: [BigData Engineering] P4: Cài cắm hadoop, chuẩn bị nhóm các yếu tố 2025

Video: [BigData Engineering] P4: Cài cắm hadoop, chuẩn bị nhóm các yếu tố 2025
Anonim

MapReduce là một khuôn khổ phần mềm lý tưởng cho các dữ liệu lớn vì nó cho phép các nhà phát triển viết các chương trình có thể xử lý dữ liệu phi cấu trúc dữ liệu khổng lồ song song với một nhóm các bộ xử lý phân tán.

Chức năng bản đồ cho dữ liệu lớn

Chức năng bản đồ là một phần của nhiều ngôn ngữ lập trình chức năng trong nhiều năm. Bản đồ đã được khôi phục lại như một công nghệ cốt lõi để xử lý danh sách các phần tử dữ liệu.

Các toán tử trong các ngôn ngữ chức năng không sửa đổi cấu trúc của dữ liệu; họ tạo ra các cấu trúc dữ liệu mới như sản phẩm của họ. Chính bản thân dữ liệu cũng không đổi. Vì vậy, bạn có thể sử dụng chức năng bản đồ với sự miễn cưỡng bởi vì nó sẽ không làm tổn hại dữ liệu quý giá được lưu trữ của bạn.

Một ưu điểm khác của chương trình chức năng là không phải quản lý rõ ràng sự di chuyển hoặc luồng dữ liệu. Điều này giải phóng các lập trình viên khỏi quản lý rõ ràng dữ liệu đầu ra và vị trí. Cuối cùng, thứ tự của các hoạt động trên dữ liệu không được quy định.

mylist = ("tất cả các hạt trong chúng ta đã tham gia cuộc tổng tuyển cử gần đây nhất") > Tạo hàm howManyPeople sử dụng hàm bản đồ

.

Việc này chỉ chọn các quận với hơn 50.000 người: bản đồ howManyPeople (mylist) = [howManyPeople "county 1"; howManyPeople "hạt 2"; howManyPeople "quận 3"; howManyPeople "quận 4"; …] Bây giờ hãy tạo một danh sách đầu ra mới của tất cả các quận với số dân lớn hơn 50.000:


(không, quận 1, vâng, quận 2, không, quận 3, vâng, quận 4, ?, quận nnn)

Chức năng này thực thi mà không làm thay đổi danh sách ban đầu. Ngoài ra, bạn có thể thấy rằng mỗi phần của danh sách đầu ra ánh xạ tới một phần tử tương ứng của danh sách đầu vào, với một đính kèm có hoặc không. Nếu quận đã đáp ứng được yêu cầu của hơn 50.000 người, chức năng bản đồ sẽ xác định nó bằng chữ Vâng. Nếu không, số không được chỉ định.

giảm

là một tính năng của các ngôn ngữ lập trình chức năng trong nhiều năm. Hàm giảm đi đầu ra của một chức năng bản đồ và "làm giảm" danh sách trong bất kỳ thời trang mà lập trình mong muốn.

Bước đầu tiên mà chức năng giảm yêu cầu là đặt một giá trị vào cái gì đó gọi là

accumulator , giữ giá trị ban đầu. Sau khi lưu trữ một giá trị bắt đầu trong accumulator, chức năng giảm sau đó xử lý từng phần tử của danh sách và thực hiện các hoạt động bạn cần trong danh sách.

Ở cuối danh sách, hàm giảm giảm giá trị dựa trên hoạt động bạn muốn thực hiện trong danh sách đầu ra. Giả sử bạn cần phải xác định các quận nơi đa số phiếu bầu cho ứng cử viên Dân chủ. Hãy nhớ rằng chức năng bản đồ howManyPeople của bạn xem xét từng phần của danh sách đầu vào và tạo ra danh sách đầu ra của các quận với hơn 50.000 người (có) và các quận với dưới 50.000 người (không). (no, county 1, yes, county 2; no, county 3; yes, county 4;, county nnn)

Đây là đầu vào cho chức năng giảm của bạn. Đây là những gì có vẻ như:

countylist = (không, quận 1, yes, county 2, no, county 3, yes, county 4, ?, county nnn) giảm làDemocrat (countylist)

Các quy trình giảm chức năng mỗi thành phần của danh sách và trả về một danh sách tất cả các quận có dân số lớn hơn 50.000, trong đó đa số phiếu bầu Dân chủ.

Đưa bản đồ dữ liệu lớn và giảm cùng nhau

Đôi khi sản xuất một danh sách đầu ra chỉ là đủ. Tương tự như vậy, đôi khi thực hiện hoạt động trên mỗi yếu tố của một danh sách là đủ. Thông thường, bạn muốn xem qua số lượng lớn dữ liệu đầu vào, chọn một số phần tử nhất định từ dữ liệu và sau đó tính giá trị từ các mẩu dữ liệu có liên quan.

Bạn không muốn thay đổi danh sách đầu vào để bạn có thể sử dụng nó theo những cách khác nhau với các giả định mới và dữ liệu mới.

Nhà phát triển phần mềm thiết kế các ứng dụng dựa trên các thuật toán. Một thuật toán

không chỉ là một loạt các bước cần thiết để phục vụ cho mục tiêu tổng thể. Nó có thể trông giống như sau:

Bắt đầu với một số lượng lớn hoặc dữ liệu hoặc hồ sơ.

Lặp lại dữ liệu.

Sử dụng chức năng bản đồ để trích xuất một cái gì đó quan tâm và tạo một danh sách đầu ra. Tổ chức danh sách đầu ra để tối ưu hóa để xử lý tiếp. Sử dụng chức năng giảm để tính một bộ kết quả.

  1. Sản xuất kết quả cuối cùng.

  2. Các lập trình viên có thể thực hiện tất cả các loại ứng dụng sử dụng cách tiếp cận này, nhưng các ví dụ cho điểm này rất đơn giản, vì vậy giá trị thực của MapReduce có thể không rõ ràng. Điều gì xảy ra khi bạn có dữ liệu đầu vào rất lớn? Bạn có thể sử dụng cùng một thuật toán trên terabyte dữ liệu? Tin vui là có.

  3. Tất cả các hoạt động có vẻ độc lập. Đó là bởi vì chúng. Sức mạnh thực sự của MapReduce là khả năng phân chia và chinh phục. Lấy một vấn đề rất lớn và phá vỡ nó thành các phần nhỏ hơn, dễ quản lý hơn, hoạt động trên từng đoạn một cách độc lập, và sau đó kéo tất cả vào cuối cùng. Hơn nữa, chức năng bản đồ là giao hoán - nói cách khác, thứ tự mà một hàm được thực hiện không quan trọng.

  4. Vì vậy, MapReduce có thể thực hiện công việc của nó trên các máy khác nhau trong một mạng. Nó cũng có thể rút ra từ nhiều nguồn dữ liệu, bên trong hoặc bên ngoài. MapReduce theo dõi công việc của mình bằng cách tạo ra một khoá duy nhất để đảm bảo rằng tất cả quá trình xử lý đều liên quan đến giải quyết cùng một vấn đề.Khóa này cũng được sử dụng để kéo tất cả các đầu ra cùng nhau vào cuối tất cả các nhiệm vụ phân phối.

Làm thế nào để sử dụng MapReduce cho dữ liệu lớn - núm vú

Lựa chọn của người biên tập

Web Marketing: Loại bỏ đăng ký và đăng nhập để đảm bảo khả năng hiển thị - núm vú

Web Marketing: Loại bỏ đăng ký và đăng nhập để đảm bảo khả năng hiển thị - núm vú

Tiếp thị web, một cách để đảm bảo khả năng hiển thị là để loại bỏ đăng ký và các hình thức đăng nhập. Khách truy cập thường phải hoàn thành các biểu mẫu này trước khi họ có thể tải xuống một số loại nội dung cao cấp, chẳng hạn như giấy trắng hoặc trước khi họ có thể đọc một số bài viết trên trang web. Các công ty đã đưa chúng vào vị trí vì họ muốn dẫn ...

Web Marketing: Làm thế nào để Tránh Duplicate Content - núm vú

Web Marketing: Làm thế nào để Tránh Duplicate Content - núm vú

Duplicate nội dung cần tránh trong web tiếp thị và Google cung cấp công cụ để phát hiện thông tin lặp lại. Không có gì gây tổn hại cho việc tìm kiếm nội dung có liên quan của công cụ tìm kiếm cũng như tìm ra chính xác những từ giống nhau trên hai trang khác nhau. Sao chép là xấu vì những lý do này: Sao chép được sử dụng để được một chiến thuật được sử dụng để đánh lừa ...

Web Marketing: Làm thế nào để Deal với Broken Links - núm vú

Web Marketing: Làm thế nào để Deal với Broken Links - núm vú

Trong bài hát của họ. Là một nhà tiếp thị web, việc xử lý các liên kết hỏng này có thể giúp đảm bảo sự thành công của trang web của bạn. Nếu một công cụ tìm kiếm đạt đến một liên kết bị hỏng, nó không thể tìm thấy trang bạn dự định (rõ ràng) - nhưng nó cũng có thể bỏ trên trang web của bạn hoặc giảm sự liên quan ...

Lựa chọn của người biên tập

Các kiểu dữ liệu điểm nổi trong Java - núm vú

Các kiểu dữ liệu điểm nổi trong Java - núm vú

Số dấu phẩy động là số có các phần phân đoạn (thường được thể hiện bằng dấu thập phân). Bạn nên sử dụng một kiểu điểm nổi trong các chương trình Java bất cứ khi nào bạn cần một số có số thập phân, như là 19. 95 hoặc 3. 1415. Java có hai kiểu nguyên thủy cho các số dấu phẩy: float: Sử dụng 4 byte gấp đôi: Sử dụng 8 bytes Trong hầu hết tất cả ...

Tải phiên bản mới nhất của Java - núm vú

Tải phiên bản mới nhất của Java - núm vú

Trước khi bạn có thể viết các chương trình Java cho các thiết bị Android, bạn cần một số phần mềm công cụ, bao gồm cả phiên bản mới nhất của Java. Bạn có thể có được phiên bản Java mới nhất và lớn nhất bằng cách truy cập vào trang web Java. Trang web cung cấp một số lựa chọn thay thế. (Được giới thiệu) Nhấp chuột vào nút Free Java Download trên trang chính của trang web. Đối với hầu hết các máy tính, ...

Thử nghiệm với JShell - núm vú

Thử nghiệm với JShell - núm vú

JShell là một công cụ Java 9 cho phép bạn khám phá về lập trình. JShell làm cho nó dễ dàng để chơi xung quanh mà không sợ hậu quả thảm khốc. Các chương trình Java thường sử dụng cùng kiểu cũ, lúng túng: public class SomethingOrOther {public static void main (String args []) {Một chương trình Java đòi hỏi sự giới thiệu này bởi vì trong Java ...

Lựa chọn của người biên tập

Hẹn hò Sau 50: Tâm linh và Tôn giáo - những con voi

Hẹn hò Sau 50: Tâm linh và Tôn giáo - những con voi

Bản quyền © 2014 AARP Tất cả các quyền được bảo lưu. Tâm linh và tôn giáo, tình dục, những trò vui nhộn nhịp, sự tham gia của gia đình, lối sống và tiền bạc - tất cả những điều này thường quan trọng đối với những người trên 50 tuổi, nhưng bạn có thể đặt một số cao hơn những người khác. Trong bất kỳ trường hợp nào, điều quan trọng là phải suy nghĩ về họ trước để bạn có thể thảo luận ...

Hẹn hò Sau 50: Nói về Monogami - vú

Hẹn hò Sau 50: Nói về Monogami - vú

Bản quyền © 2014 AARP. Đã đăng ký Bản quyền. Một vợ một chồng là một vấn đề lớn cho dù bạn là người chưa sẵn sàng cho vợ chồng một vợ chồng và muốn hẹn hò xung quanh hay người chỉ có thể quan hệ tình dục với một người một lần. Đảm bảo đối tác hẹn hò của bạn biết bạn đang đứng ở đâu (hoặc nằm xuống) đối với vợ chồng một vợ chồng ...

Hẹn hò Sau 50: Thảo luận về sức khoẻ cá nhân của bạn - những con voi

Hẹn hò Sau 50: Thảo luận về sức khoẻ cá nhân của bạn - những con voi

Bản quyền © 2014 AARP. Đã đăng ký Bản quyền. Nếu bạn bị bệnh mãn tính hoặc đe dọa đến mạng sống khi bạn còn nhỏ, bạn đã có kinh nghiệm về sức khoẻ của mình. Có thể bạn phải liên tục kể câu chuyện về vết sẹo ngực hoặc nẹp chân hoặc giải thích số ít các viên thuốc mà bạn phải dùng mỗi ngày. Nó không phải ...