Apache Hive là gì?

Apache Hive là một hệ thống kho dữ liệu phân tán, có khả năng chịu lỗi cho phép phân tích ở quy mô lớn. Kho dữ liệu cung cấp một kho thông tin trung tâm có thể dễ dàng được phân tích để đưa ra các quyết định dựa trên dữ liệu sáng suốt. Hive cho phép người dùng đọc, ghi và quản lý hàng petabyte dữ liệu sử dụng SQL.

Hive được xây dựng dựa trên Apache Hadoop, một khung mã nguồn mở dùng để lưu trữ và xử lý các tập dữ liệu lớn một cách hiệu quả. Do đó, Hive được tích hợp chặt chẽ với Hadoop và có thể hoạt động nhanh chóng trên hàng petabyte dữ liệu. Điểm độc đáo của Hive là khả năng truy vấn các tập dữ liệu lớn, tận dụng Apache Tez hoặc MapReduce và có giao diện tương tự SQL.

Hive hoạt động như thế nào?

Hive được tạo ra để giúp những người không phải lập trình viên nhưng đã quen thuộc với SQL có thể làm việc với hàng petabyte dữ liệu, bằng giao diện HiveQL tương tự với SQL. Cơ sở dữ liệu quan hệ truyền thống vốn được thiết kế cho các truy vấn tương tác trên những tập dữ liệu vừa và nhỏ nên không thể xử lý tốt các tập dữ liệu khổng lồ. Thay vào đó, Hive sử dụng cách xử lý hàng loạt để hoạt động nhanh chóng trên cơ sở dữ liệu phân tán rất lớn. Hive chuyển đổi truy vấn HiveQL thành các tác vụ MapReduce hoặc Tez chạy trên khung lên lịch tác vụ phân tán Yet Another Resource Negotiator (YARN) của Apache Hadoop. Hive truy vấn dữ liệu lưu trữ trong một giải pháp lưu trữ phân tán, chẳng hạn như Hệ thống tệp phân tán Hadoop (HDFS) hoặc Amazon S3. Hive lưu trữ cơ sở dữ liệu và siêu dữ liệu bảng trong metastore, một cơ sở dữ liệu hay kho được hỗ trợ bằng tệp cho phép trừu tượng hóa và khám phá dữ liệu dễ dàng.

Hive bao gồm HCatalog – một lớp quản lý lưu trữ và bảng. Lớp này có khả năng đọc dữ liệu từ Hive metastore để hỗ trợ tích hợp liền mạch giữa Hive, Apache Pig và MapReduce. Bằng cách sử dụng metastore, HCatalog cho phép Pig và MapReduce cùng sử dụng các cấu trúc dữ liệu giống với Hive để không phải xác định lại siêu dữ liệu cho từng công cụ. Các ứng dụng tùy chỉnh hoặc tích hợp của bên thứ ba có thể sử dụng WebHCat, một API RESTful giúp HCatalog truy cập và sử dụng lại siêu dữ liệu Hive.

Hive mang lại những lợi ích gì?

Nhanh

Hive được thiết kế để xử lý nhanh hàng petabyte dữ liệu bằng cách xử lý hàng loạt.

Quen thuộc

Hive cung cấp giao diện quen thuộc tương tự SQL nên những người không phải là lập trình viên cũng có thể dễ dàng sử dụng.

Có khả năng mở rộng

Hive dễ dàng phân phối và điều chỉnh quy mô dựa trên nhu cầu.

Apache Hive và Apache HBase có gì khác biệt?

Apache HBase là một cơ sở dữ liệu phân tán NoSQL cho phép truy cập ngẫu nhiên, hoàn toàn nhất quán, theo thời gian thực vào nhiều petabyte dữ liệu. Apache Hive là một hệ thống kho dữ liệu phân tán cung cấp chức năng truy vấn giống SQL.

Đặc điểm

Apache Hive

Apache HBase

Hàm

Công cụ truy vấn giống SQL được thiết kế cho các kho dữ liệu khối lượng lớn. Công cụ này hỗ trợ nhiều định dạng tệp.

Kho lưu trữ khóa-giá trị phân tán có độ trễ thấp với chức năng truy vấn tùy chỉnh. Dữ liệu được lưu trữ ở định dạng hướng cột.

Loại xử lý

Xử lý hàng loạt bằng cách sử dụng các khung tính toán Apache Tez hoặc MapReduce.

Xử lý theo thời gian thực.

Độ trễ

Trung bình đến cao, tùy thuộc vào khả năng đáp ứng của công cụ tính toán. Mô hình thực thi phân tán cung cấp hiệu suất vượt trội so với các hệ thống truy vấn nguyên khối, như RDBMS, cho cùng một khối lượng dữ liệu.

Thấp, nhưng có thể không nhất quán. Những hạn chế về cấu trúc của kiến trúc HBase có thể dẫn đến độ trễ tăng đột biến khi gặp tải ghi mạnh.

Tích hợp Hadoop

Hoạt động dựa trên Hadoop, với Apache Tez hoặc MapReduce đảm nhiệm việc xử lý và HDFS hoặc Amazon S3 đảm nhiệm việc lưu trữ.

Hoạt động dựa trên HDFS hoặc Amazon S3.

Hỗ trợ SQL

Cung cấp chức năng truy vấn giống SQL với HiveQL.

Không tự hỗ trợ SQL. Bạn có thể sử dụng Apache Phoenix cho chức năng SQL.

Sơ đồ

Có sơ đồ xác định cho mọi bảng.

Không có sơ đồ.

Loại dữ liệu

Hỗ trợ dữ liệu có cấu trúc và phi cấu trúc. Cung cấp hỗ trợ gốc cho các loại dữ liệu SQL phổ biến, như INT, FLOAT và VARCHAR.

Chỉ hỗ trợ dữ liệu phi cấu trúc. Người dùng xác định ánh xạ của các trường dữ liệu đến các loại dữ liệu được Java hỗ trợ.

Nên sử dụng Hive trong những trường hợp nào?

Guardian đem đến sự đảm bảo an toàn xứng đáng cho 27 triệu thành viên thông qua các sản phẩm, dịch vụ về bảo hiểm và quản lý tài sản. Guardian sử dụng Amazon EMR để chạy Apache Hive trên hồ dữ liệu S3. Apache Hive được sử dụng để xử lý hàng loạt. Hồ dữ liệu S3 là “nhiên liệu” của Guardian Direct, một nền tảng kỹ thuật số cho phép người tiêu dùng nghiên cứu và mua cả sản phẩm của Guardian lẫn sản phẩm của bên thứ ba trong lĩnh vực bảo hiểm.

FINRA – Cơ quan quản lý ngành tài chính – là cơ quan quản lý chứng khoán độc lập lớn nhất tại Hoa Kỳ, có nhiệm vụ giám sát và điều chỉnh các hoạt động giao dịch tài chính. FINRA sử dụng Amazon EMR để chạy Apache Hive trên hồ dữ liệu S3. Việc chạy Hive trên các cụm EMR giúp FINRA có thể xử lý và phân tích dữ liệu thương mại của tối đa 90 tỷ sự kiện bằng SQL. Hồ dữ liệu đám mây giúp tiết kiệm đến 20 triệu USD chi phí so với giải pháp tại chỗ của FINRA, đồng thời giảm đáng kể thời gian cần thiết cho việc phục hồi và nâng cấp.

Vanguard, một công ty tư vấn đầu tư đã đăng ký của Hoa Kỳ, là nhà cung cấp quỹ tương hỗ lớn nhất và nhà cung cấp quỹ hoán đổi danh mục lớn thứ hai. Vanguard sử dụng Amazon EMR để chạy Apache Hive trên hồ dữ liệu S3. Họ lưu trữ dữ liệu trong S3, còn EMR xây dựng một Hive metastore dựa trên dữ liệu đó. Hive metastore chứa tất cả siêu dữ liệu liên quan đến dữ liệu và bảng trong cụm EMR, giúp dễ dàng phân tích dữ liệu. Hive cũng cho phép các nhà phân tích thực hiện truy vấn SQL không dự tính trước trên dữ liệu lưu trữ trong hồ dữ liệu S3. Việc di chuyển sang hồ dữ liệu S3 với Amazon EMR đã giúp hơn 150 nhà phân tích dữ liệu có thể đạt được hiệu quả hoạt động, cũng như là đã giảm 600 nghìn USD chi phí EC2 và EMR.

AWS có thể hỗ trợ Hive bằng cách nào?

Amazon EMR cung cấp khung Hadoop được quản lý dễ dàng nhất, nhanh nhất và tiết kiệm chi phí nhất, giúp khách hàng xử lý lượng dữ liệu khổng lồ trên các phiên bản EC2 có thể điều chỉnh quy mô linh hoạt. Khách hàng cũng có thể chạy các khung phân tán phổ biến khác như Apache Hive, Spark, HBase, Presto và Flink trong EMR. 

Tìm hiểu thêm về Amazon EMR

Bắt đầu sử dụng Apache Hive trên AWS bằng cách tạo tài khoản AWS miễn phí ngay hôm nay.

Các bước tiếp theo trên AWS

Tham khảo các tài nguyên bổ sung liên quan đến sản phẩm
Đổi mới nhanh hơn với bộ dịch vụ Phân tích toàn diện nhất  
Đăng ký tài khoản miễn phí

Nhận ngay quyền sử dụng Bậc miễn phí của AWS.

Đăng ký 
Bắt đầu xây dựng trong bảng điều khiển

Bắt đầu xây dựng trong AWS Management Console.

Đăng nhập