Giới thiệu về Apache Hive



Apache Hive là một gói Data Warehousing được xây dựng trên Hadoop và được sử dụng để phân tích dữ liệu. Hive được nhắm mục tiêu đến những người dùng thông thạo SQL.

Apache Hive là một gói Data Warehousing được xây dựng trên Hadoop và được sử dụng để phân tích dữ liệu. Hive được nhắm mục tiêu đến những người dùng thông thạo SQL. Nó tương tự như SQL và được gọi là HiveQL, được sử dụng để quản lý và truy vấn dữ liệu có cấu trúc. Apache Hive được sử dụng để trừu tượng hóa độ phức tạp của Hadoop. Ngôn ngữ này cũng cho phép các lập trình viên lập trình bản đồ / thu nhỏ truyền thống có thể cắm các trình thu gọn và lập bản đồ tùy chỉnh của họ. Đặc điểm phổ biến của Hive là không cần học Java.





Hive, một khuôn khổ lưu trữ ngày theo tỷ lệ peta-byte mã nguồn mở dựa trên Hadoop, được phát triển bởi Nhóm cơ sở hạ tầng dữ liệu tại Facebook. Hive cũng là một trong những công nghệ đang được sử dụng để giải quyết các yêu cầu tại Facebook. Hive rất phổ biến với tất cả người dùng nội bộ tại Facebook và đang được sử dụng để chạy hàng nghìn công việc trên cụm với hàng trăm người dùng, cho nhiều loại ứng dụng. Cụm Hive-Hadoop tại Facebook lưu trữ hơn 2PB dữ liệu thô và thường xuyên tải 15 TB dữ liệu hàng ngày.

Hãy xem xét một số tính năng của nó khiến nó trở nên phổ biến và thân thiện với người dùng:



  • Cho phép lập trình viên cắm các Trình vẽ bản đồ và Trình thu nhỏ tùy chỉnh.
  • Có cơ sở hạ tầng Kho dữ liệu.
  • Cung cấp các công cụ để kích hoạt ETL dữ liệu dễ dàng.
  • Định nghĩa ngôn ngữ truy vấn giống SQL được gọi là QL.

Trường hợp sử dụng Apache Hive - Facebook:

Trường hợp sử dụng Hive - Facebook

Trước khi triển khai Hive, Facebook đã phải đối mặt với rất nhiều thách thức khi kích thước dữ liệu được tạo ra ngày càng tăng hoặc nói đúng hơn là bùng nổ, khiến việc xử lý chúng thực sự khó khăn. RDBMS truyền thống không thể xử lý áp lực và kết quả là Facebook đang tìm kiếm các lựa chọn tốt hơn. Để giải quyết vấn đề sắp xảy ra này, Facebook ban đầu đã thử sử dụng Hadoop MapReduce, nhưng với khó khăn trong lập trình và kiến ​​thức bắt buộc về SQL, đã khiến nó trở thành một giải pháp không thực tế. Hive đã cho phép họ vượt qua những thử thách mà họ đang phải đối mặt.

Với Hive, giờ đây họ có thể thực hiện những điều sau:



  • Bàn có thể được chia thành từng phần và xếp thành từng ô
  • Sự linh hoạt và tiến hóa của lược đồ
  • Trình điều khiển JDBC / ODBC có sẵn
  • Bảng Hive có thể được xác định trực tiếp trong HDFS
  • Có thể mở rộng - Loại, Định dạng, Chức năng và tập lệnh

Trường hợp sử dụng Hive trong Chăm sóc sức khỏe:

Sử dụng Hive ở đâu?

java với sức mạnh của

Apache Hive có thể được sử dụng ở những nơi sau:

  • Khai thác dữ liệu
  • Xử lý nhật ký
  • Lập chỉ mục tài liệu
  • Khách hàng Đối mặt với Trí tuệ Doanh nghiệp
  • Mô hình dự đoán
  • Kiểm tra giả thuyết

Kiến trúc Hive:

Hive bao gồm các thành phần chính sau:

  • Metastore - Để lưu trữ siêu dữ liệu.
  • JDBC / ODBC - Trình biên dịch Truy vấn và Công cụ Thực thi để chuyển đổi các truy vấn SQL thành một chuỗi MapReduce.
  • SerDe và ObjectInspectors - Đối với các định dạng và kiểu dữ liệu.
  • UDF / UDAF - Đối với các chức năng do người dùng xác định.
  • Khách hàng - Tương tự như dòng lệnh MySQL và giao diện người dùng web.

Các thành phần của Hive:

Cơ sở dữ liệu:

Metastore lưu trữ thông tin về bảng, phân vùng, cột trong bảng. Có 3 cách lưu trữ trong Metastore: Embedded Metastore, Local Metastore và Remote Metastore. Hầu hết, Remote Metastore sẽ được sử dụng trong chế độ sản xuất.

Hạn chế của Hive:

Hive có những hạn chế sau và không thể được sử dụng trong những trường hợp như vậy:

  • Không được thiết kế để xử lý giao dịch trực tuyến.
  • Cung cấp độ trễ chấp nhận được để duyệt dữ liệu tương tác.
  • Không cung cấp các truy vấn thời gian thực và cập nhật cấp hàng.
  • Độ trễ cho các truy vấn Hive thường rất cao.

Có một câu hỏi cho chúng tôi? Đề cập đến họ trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn.

Bài viết liên quan:

Lệnh Hive