Hive là gì

  -  

Thuật ngữ Big Data được sử dụng cho các bộ tập dữ liệu khổng lồ bao gồm khối lượng lớn, tốc độ cao và nhiều loại dữ liệu đang tăng lên từng ngày. Sử dụng các hệ thống quản lý dữ liệu truyền thống, rất khó để xử lý Big data. Do đó, Quỹ phần mềm Apache (Apache Software Foundation) đã giới thiệu một framework tên là Hadoop để giải quyết các thách thức quản lý và xử lý Big data.Bạn đang xem: Hive là gì

Hadoop

Hadoop là một framework open-source để lưu trữ và xử lý Big data trong môi trường phân tán. Nó chứa hai mô-đun, một là MapReduce và một mô-đun khác là Hệ thống tệp phân tán Hadoop (Hadoop Distributed File System - HDFS).

Bạn đang xem: Hive là gì

MapReduce: Đây là mô hình lập trình song song để xử lý một lượng lớn dữ liệu có cấu trúc, bán cấu trúc và không cấu trúc trên các cụm lớn của phần cứng thương mại (commodity hardware).HDFS: Hệ thống tệp phân tán Hadoop là một phần của framework Hadoop, được sử dụng để lưu trữ và xử lý các bộ dữ liệu. Nó cung cấp một hệ thống tập tin chịu lỗi để chạy trên phần cứng thương mại.

Hệ sinh thái Hadoop chứa các sub-project (tool) khác nhau như Sqoop, Pig và Hive được sử dụng để trợ giúp các mô-đun Hadoop.

Xem thêm: Game Truy Tìm Ẩn Số, Game Bạn Gái, Game Mickey: Truy Tìm Ẩn Số, Game Bạn Gái

Chú ý: Có nhiều cách khác nhau để thực hiện các hoạt động MapReduce:

Cách tiếp cận truyền thống sử dụng chương trình Java MapReduce cho dữ liệu có cấu trúc, bán cấu trúc và không cấu trúc.Cách tiếp cận dùng câu lệnh cho MapReduce để xử lý dữ liệu có cấu trúc và bán cấu trúc bằng Pig.Ngôn ngữ truy vấn Hive (HiveQL hoặc HQL) cho MapReduce để xử lý dữ liệu có cấu trúc bằng Hive.Hive là gì?

Hive là một công cụ cơ sở hạ tầng kho dữ liệu để xử lý dữ liệu có cấu trúc trong Hadoop. Nó nằm trên đỉnh Hadoop để tóm tắt Dữ liệu lớn và giúp truy vấn và phân tích dễ dàng.

Ban đầu Hive được phát triển bởi Facebook, sau đó Quỹ Phần mềm Apache đã lấy và phát triển nó thành một nguồn mở dưới tên Apache Hive. Nó được sử dụng bởi các công ty khác nhau. Ví dụ: Amazon sử dụng nó trong Amazon Elastic MapReduce.

Hive không phải là:Một CSDL quan hệMột thiết kế để xử lý giao dịch Online (OnLine Transaction Processing - OLTP)Một ngôn ngữ cho các truy vấn thời gian thực và cập nhật cấp hàngĐặc trưng của HiveNó lưu trữ lược đồ trong cơ sở dữ liệu và xử lý dữ liệu vào HDFS.Nó được thiết kế cho OLAP.Nó cung cấp ngôn ngữ kiểu SQL để truy vấn được gọi là HiveQL hoặc HQL.Nó là quen thuộc, nhanh chóng, có khả năng mở rộng.Kiến trúc của Hive

Sơ đồ sau đây mô tả kiến trúc của Hive:

*

Sơ đồ thành phần này chứa các đơn vị khác nhau.

Xem thêm: Đồng Nghĩa Của Impress Là Gì ? Cấu Trúc Và Cách Dùng Từ Impress Trong Tiếng Anh

User Interface: Hive là một phần mềm cơ sở hạ tầng kho dữ liệu có thể tạo ra sự tương tác giữa người dùng và HDFS. Các giao diện người dùng mà Hive hỗ trợ là Hive Web UI, Hive command line và Hive HD Insight (Trong máy chủ Windows).Meta Store: Hive chọn các máy chủ cơ sở dữ liệu tương ứng để lưu trữ lược đồ hoặc metadata của các bảng, cơ sở dữ liệu, các cột trong một bảng, các loại dữ liệu của chúng và ánh xạ HDFS.HiveQL Process Engine: HiveQL tương tự như SQL để truy vấn thông tin lược đồ trên Metastore. Đây là một trong những thay thế của phương pháp truyền thống cho chương trình MapReduce. Thay vì viết chương trình MapReduce bằng Java, chúng ta có thể viết một truy vấn cho công việc MapReduce và xử lý nó.Execution Engine: Phần kết hợp của công cụ xử lý HiveQL và MapReduce là Công cụ thực thi Hive (Hive Execution Engine). Công cụ thực thi xử lý truy vấn và tạo kết quả giống như kết quả MapReduce.HDFS hoặc HBASE: Hệ thống tệp phân tán Hadoop hoặc HBASE là các kỹ thuật lưu trữ dữ liệu để lưu trữ dữ liệu vào hệ thống tệp.Cách làm việc của Hive

Sơ đồ sau mô tả quy trình làm việc giữa Hive và Hadoop.


*

Cách Hive tương tác với framework Hadoop: