Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Khái niệm cơ bản về hệ sinh thái Hadoop:Phần 1

Được xuất bản lần đầu bởi Tricore:ngày 10 tháng 7 năm 2017

Apache ™ Hadoop® là một khung công tác dựa trên Java, mã nguồn mở, được thiết kế để xử lý lượng dữ liệu khổng lồ trong môi trường điện toán phân tán. Doug Cắt và Mike Cafarella đã phát triển Hadoop, được phát hành lại vào năm 2005.

Được xây dựng trên phần cứng hàng hóa, Hadoop hoạt động dựa trên giả định cơ bản rằng các lỗi phần cứng là phổ biến. Khung Hadoop giải quyết những lỗi này.

Trong Phần 1 của loạt blog gồm hai phần này, chúng tôi sẽ đề cập đến dữ liệu lớn, Hệ thống Hadoop và một số thành phần chính của khung Hadoop.

Dữ liệu lớn hơn bao giờ hết

Dữ liệu là yếu tố quan trọng đối với tất cả các tổ chức và dữ liệu lớn đang mở ra cơ hội phân tích mới có thể dẫn đến thông tin chi tiết có giá trị về doanh nghiệp. Bigdata đề cập đến dữ liệu vượt quá khả năng lưu trữ và khả năng xử lý của một tổ chức.

Dữ liệu lớn có thể bắt nguồn từ mạng xã hội, camera truyền hình có phụ đề chi tiết (CCTV), cảm biến, cổng mua sắm trực tuyến, dữ liệu khách sạn, hệ thống định vị toàn cầu (GPS), ngành công nghiệp ô tô và các nguồn khác tạo ra một lượng lớn thông tin.

Có ba khía cạnh chính của dữ liệu lớn, tất cả đều đang tiến triển với tốc độ chóng mặt:

  • Âm lượng :Khối lượng dữ liệu lớn đang tăng nhanh chóng từ gigabyte toterabyte và petabyte. Việc lưu trữ nó đòi hỏi một lượng lớn dung lượng ổ đĩa.

  • Vận tốc :Dữ liệu lớn thường được lưu trữ trong các trung tâm dữ liệu. Việc cung cấp dữ liệu cho một trạm làm việc cục bộ yêu cầu bộ xử lý dữ liệu tốc độ cao.

  • Đa dạng :Dữ liệu có thể được phân loại rộng rãi là có cấu trúc, không có cấu trúc, có cấu trúc orsemi.

Chúng ta có thể tổng hợp dữ liệu lớn với phương trình sau:

Dữ liệu lớn =(Khối lượng + Tốc độ + Sự đa dạng) của dữ liệu

Hình ảnh sau đây cung cấp hình dung về các khái niệm này.

Khái niệm cơ bản về hệ sinh thái Hadoop:Phần 1 3V (khối lượng, đa dạng và vận tốc

Nguồn hình ảnh:3Vs (khối lượng, đa dạng và vận tốc)

Hệ sinh thái Hadoop

Thuật ngữ Hệ sinh thái Hadoop đề cập đến các thành phần khác nhau của thư viện phần mềm Apache Hadoop. Hệ sinh thái này bao gồm một tập hợp các mô-đun khác nhau tương tác với nhau. Các mô-đun này cung cấp tập hợp các công cụ và phụ kiện được thiết kế để giải quyết các yêu cầu duy nhất liên quan đến việc xử lý dữ liệu lớn. Hệ sinh thái bao gồm tất cả các mô-đun củaHadoop, bao gồm các thành phần cốt lõi của khung Hadoop mà wediscuss bên dưới, cũng như các mô-đun bổ trợ.

Các thành phần của khung Hadoop

Khung Hadoop bao gồm các thành phần cốt lõi sau.

Bộ nhớ phân tán

Một số phần khác nhau kết hợp với nhau để cho phép lưu trữ phân tán trongHadoop.

Hệ thống tệp phân tán Hadoop

Trong Hadoop, lưu trữ phân tán được gọi là Hệ thống tệp phân tán Hadoop (HDFS). Hệ thống này cung cấp bộ nhớ dự phòng và có các đặc điểm sau:

  • Nó được thiết kế để lưu trữ dữ liệu trên phần cứng hàng hóa một cách đáng tin cậy.

  • Nó được xây dựng để dự kiến ​​các lỗi phần cứng.

  • Nó dành cho các tệp lớn và chèn hàng loạt. (Viết một lần, đọc nhiều lần.)

HBase

HBase là một cơ sở dữ liệu NoSQL phân tán, hướng cột. HBase sử dụng HDFS hỗ trợ lưu trữ cơ bản và hỗ trợ cả tính toán theo kiểu hàng loạt bằng cách sử dụngMapReduce và truy vấn điểm (đọc ngẫu nhiên).

HBase cũng thực hiện các nhiệm vụ sau:

  • Lưu trữ khối lượng dữ liệu lớn (lên đến hàng tỷ hàng) trên đầu các cụm phần cứng hàng hóa.

  • Lưu trữ hàng loạt nhật ký, tài liệu, nguồn cấp dữ liệu hoạt động trong thời gian thực và dữ liệu được nhập thô.

  • Thực hiện nhất quán việc đọc và ghi vào dữ liệu mà các ứng dụng Hadoop sử dụng.

  • Cho phép tổng hợp hoặc xử lý kho dữ liệu bằng cách sử dụng MapReducefuncity.

  • Cung cấp nền tảng dữ liệu cho phân tích và học máy.

HCatalog

HCatalog là một lớp quản lý bảng và lưu trữ cho Hadoop cho phép các ứng dụng củaHadoop như Pig ™, MapReduce và Hive ™ đọc và ghi dữ liệu ở định dạng bảng thay vì các tệp.

Nó cũng cung cấp các tính năng sau:

  • Vị trí tập trung để lưu trữ dữ liệu mà các ứng dụng Hadoop sử dụng.

  • Một kho lưu trữ dữ liệu có thể tái sử dụng cho các quy trình Hadoop được lặp lại và tuần tự.

  • Lưu trữ dữ liệu dưới dạng trừu tượng quan hệ.

  • Quản lý siêu dữ liệu.

Xử lý phân tán

Hadoop dựa trên xử lý phân tán có thể thực hiện được của MapReduce và Yet Another Resource Negotiator (YARN).

MapReduce

MapReduce là một mô hình xử lý dữ liệu phân tán và môi trường thực thi chạy trên các cụm máy hàng hóa lớn. MapReduce cho phép bạn tạo thông tin chi tiết từ dữ liệu bạn đã lưu trữ. Nó sử dụng thuật toán MapReduce để chia nhỏ tất cả các hoạt động thành các chức năng Bản đồ hoặc Rút gọn.

MapReduce cung cấp những ưu điểm sau:

  • Tổng hợp (đếm, sắp xếp và lọc) trên các tập dữ liệu lớn và khác nhau.

  • Tính song song có thể mở rộng của các tác vụ Bản đồ hoặc Giảm bớt.

  • Thực thi tác vụ phân tán.

SỢI

YARN là lớp quản lý tài nguyên và cụm cho Apache Hadoopecosystem. Đây là một trong những tính năng chính trong thế hệ thứ hai của khuôn khổ theHadoop.

YARN cung cấp các chức năng sau:

  • Nó lên lịch các ứng dụng để ưu tiên các tác vụ và duy trì các hệ thống phân tích dữ liệu lớn.

  • Là một phần của kiến ​​trúc lớn hơn, YARN tổng hợp và sắp xếp dữ liệu để thực hiện các truy vấn cụ thể để truy xuất dữ liệu.

  • Nó giúp phân bổ tài nguyên cho các ứng dụng cụ thể và quản lý các nhiệm vụ giám sát tài nguyên khác.

Máy học

Hadoop hỗ trợ học máy thông qua Apache Mahout, một dự án mã nguồn mở được sử dụng chủ yếu để tạo các thuật toán học máy có thể mở rộng. Mahout là một khung khai thác dữ liệu thường chạy với cơ sở hạ tầng Hadoop trong nền để quản lý khối lượng dữ liệu khổng lồ.

Mahout cung cấp các khả năng sau:

  • Một khuôn khổ sẵn sàng sử dụng để thực hiện các tác vụ khai thác dữ liệu trên khối lượng dữ liệu lớn hơn.

  • Các thuật toán được viết trên Hadoop và cho phép Mahout hoạt động tốt trong các môi trường phân tán.

  • Phân tích nhanh các tập dữ liệu lớn.

  • Khả năng chức năng thể dục phân tán để lập trình tiến hóa. Italso bao gồm các thư viện ma trận và vectơ.

Theo dõi và lập lịch trình quy trình làm việc

Oozie là hệ thống quản lý công việc của Hadoop. Bộ lập lịch dòng công việc này chạy các dòng công việc cho các công việc phụ thuộc. Nó cho phép người dùng tạo các bản đồ theo hướng (DAG) của quy trình công việc chạy các công việc song song và tuần tự trong Hadoop.

Oozie rất linh hoạt. Bạn có thể dễ dàng bắt đầu, dừng, tạm dừng và chạy lại công việc. Oozie cũng giúp bạn dễ dàng chạy lại các quy trình công việc bị lỗi.

Oozie có khả năng mở rộng và có thể quản lý việc thực hiện kịp thời hàng nghìn quy trình công việc (mỗi quy trình bao gồm hàng chục công việc) trong một cụm Hadoop.

Viết kịch bản

Các nhà phát triển có thể sử dụng Apache Pig để viết tập lệnh trong Hadoop. Scripting sử dụng ngôn ngữ dựa trên aSQL và một môi trường thực thi để tạo các MapReducetransformations phức tạp. Mặc dù Pig được viết bằng ngôn ngữ mã hóa Pig Latinh, nó được dịch thành các công việc MapReduce có thể thực thi được. Pig cũng cho phép người dùng tạo các chức năng được giám sát hoặc do người dùng xác định (UDF) bằng cách sử dụng Java.

Pig cũng cung cấp những điều sau đây:

  • Môi trường tập lệnh để thực hiện các tác vụ và quy trình giải nén-biến đổi-tải (ETL) trên dữ liệu thô trong HDFS.

  • Một ngôn ngữ dựa trên SQL để tạo và chạy các chức năng Map Reduce phức tạp.

  • Xử lý dữ liệu, ghép nối và phân tích dữ liệu trên các tập dữ liệu lớn và khác nhau.

  • Ngôn ngữ luồng dữ liệu cấp cao.

  • Một lớp trừu tượng cho phép bạn tập trung vào việc xử lý dữ liệu.

Kết luận

Hadoop và khung công tác MapReduce đã có một cơ sở người dùng đáng kể trong cộng đồng tin học, đặc biệt là trong lĩnh vực phân tích kết quả thế hệ tiếp theo. Sự phổ biến của nó trong lĩnh vực này một phần là do HDFS mạnh mẽ, có khả năng chịu lỗi.

HBase bổ sung một cơ sở dữ liệu phân tán, có khả năng chịu lỗi, có thể mở rộng được xây dựng trên hệ thống tệp HDFS, với quyền truy cập đọc và ghi dữ liệu theo thời gian thực ngẫu nhiên. xử lý dữ liệu.

Trong Phần 2 của các tiệm bánh, chúng tôi sẽ đề cập đến các thành phần khác của hệ sinh thái Hadoop.

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào.