Hive Là Gì

     

Apache Hive là 1 trong kho dữ liệu ( data warehouse ) tương hỗ người sử dụng hoàn toàn có thể dễ dàng rộng trong việc làm chủ và tầm nã vấn so với các tập tài liệu lớn được tích trữ trên các khối hệ thống tàng trữ phân tán (distributed storage). Hive được xây dựng dựa trên cơ sở của Apache Hadoop, nó cung ứng các nhân kiệt chinh sau:

Công cụ có thể chấp nhận được dễ dàng triển khai tác vụ như trích xuất, giao vận và tàng trữ tài liệu .Cơ chế để cách xử lý cho nhiều định dạng tài liệu không giống nhau.Truy cập tới tư liệu dạng files được tích tụ trực tiếp sinh sống trong Apache HDFS hoặc so với tương đối nhiều mạng lưới hệ thống tàng trữ tài liệu khác như Apache HBase.Thực hiện query thông qua MapReduce.

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

Hive định nghĩa ra một ngôn ngữ truy vấn đối chọi thuần bao gồm cú pháp gần giống với SQL (SQL-like query language) được call là HiveQL, nó được cho phép người sử dụng đã thân quen với các truy vấn SQL triển khai việc truy vấn tài liệu. Hình như ngôn ngữ này còn cho phép các lập trình sẵn viên fan đã rất gần gũi với MapReduce framework rất có thể nhúng các mappers và reducers cho chính họ viết ra để thực thi nhiều hơn nữa những phân tích phức tập cơ mà không được cứu giúp bởi các hàm đã bao gồm sẵn trong ngôn từ HiveQL. HiveQL cung có thể được lan rộng ra ra với các custom scalar functions (UDF’s), aggregations (UDAF’s) và những table funtions (UDTF’s)

Hive ko yêu mong tài liệu nên được đọc cùng ghi bên dưới một định dạng của riêng rẽ Hive (Hive format). Hive hoạt động tốt trên Thrift và các định dạng tài liệu riêng rẽ của người tiêu dùng .

Hive không được phong thái thiết kế làm cho các giao dịch thanh toán trực tuyến đường ( OLTP workloads ) và tránh việc dùng cho những real-time queries với các update trên từng dòng trong một table (row-level). Hive vận động tốt nhất cho các batch jobs trên những tập tư liệu lớn, mà ở đó dữ liệu được thêm vào tiếp tục ( append-only data ) ví dụ như web logs . Hive có khả năng lan rộng lớn ra theo chiều ngang giỏi ( thực thi giỏi trên 1 hadoop cluster có số tượng máy đổi khác ), có công dụng tích hợp với MapReduce framework và UDF, UDAF, UDTF; có khả năng chống chịu đựng lỗi với mềm dẻo so với các dữ liệu nguồn vào của bao gồm nó.

Xem thêm: Cách Kết Nối Điện Thoại Với Máy Giặt Lg Qua Ứng Dụng Smartthinq Tiện Lợi

Các thành phần thông số kỹ thuật Hive bao gồm HCatalog và WebHCat. HCatalog là một trong những thành phần của Hive. Đây là lớp quản lý lưu trữ cho Hadoop (table and management layer), nó có thể chấp nhận được người dùng với những công nắm xử lý dữ liệu khác nhau bao hàm cả Pig với MapReduce thực thi chuyển động giải trí đọc, ghi một cách tiện lợi hơn. WebHCat hỗ trợ một thương mại dịch vụ cho phép bạn có thể thực thi Hadoop MapReduce ( hoặc YARN ), Pig, Hive .

Xem thêm: Cách Làm Mứt Đu Đủ Không Cần Nước Vôi Trong, Đơn Giản Dễ Làm

2.Kiến trúc của Hive

Hive có những thành phần đó là :

Hive UI: hỗ trợ giao diện được cho phép người sử dụng xúc tiến với mạng lưới hệ thống Hive. Hive cung ứng nhiều cách thức khác nhau được cho phép người sử dụng địa chỉ với Hive :CLI: giao diện dạng shell cho phép người sử dụng địa chỉ trực tiếp qua command line .Hive web Interface: hình ảnh Web cho phép người sử dụng triển khai những truy vấn trải qua giao diện web .Hive Thrift Server: chất nhận được các client từ rất nhiều ngôn ngữ lập trình khác nhau có thể triển khai liên tưởng với Hive .Hive Driver: thành phần nhậncác truy nã vấn cùng chuyển các truy vấn này thành những MapReduce Jobs để thực hiện xử lý yêu mong của người tiêu dùng .Driver: nhận những truy vấn, nhân tố này thực hiện việc cai quản các sessions và hỗ trợ các API để thực thi và mang tài liệu trên JDBC/ODBC interfaces.Compiler: nhân tố hiện việc phân tích ngữ nghĩa so với các query, lấy những thông tin metadata quan trọng về table với partion tự metastoređể sinh ra những excution plan.Execute engine: yếu tố thực thi các execution plan được tạo vì compiler (submit các job cho tới MapReduce ). Trong khi thành phần execution enginen này thực hiện việc làm chủ các dependencies của công việc trong mỗi execution plan, triển khai từng cách này.Hive Metastore: thành phần giữ trữ những metadata của Hive : table, partion, buckets bao có cả tin tức về những column trong những table, các serializers cùng desrializers cần thiếtđể triển khai việcđọc cùng ghi dữ liệu. Metastore áp dụng một các đại lý tài liệu quan liêu hệđể tàng trữ tài liệu của chủ yếu mình.

*

Hình 2.1. Kiến trúc của Hive

3. Hoạtđộng của Hive

Hình 3.1. Mô hình hoạtđộng của Hive

Quy trình hoạtđộng của Hive tất cả thểđược biểu thị theo các bước sau :

Các truy vấn đến từ User Interface ( CLI, Hive web Interface, Thirft server )được gửi đến thành phần Driver(Bước 1 hình 3.1)Driver tạo thành mới 1 session mang lại truy vấn này với gửi query cho tới compilerđể nhấn lấy Execution Plan (Bước 2 hình 3.1)Compilter nhận các metadata quan trọng từ Metastore ( bước 3 , 4 hình 3.1). Những metadata này sẽđược sử dụngđể kiểm tra những biểu thức bên phía trong query nhưng Compiler nhậnđược .Plan được sinh ra do Compiler (thông tin về các job (map-reduce) phải thiếtđể thực thi query sẽđược gởi lại cho tới thành phần xúc tiến ( bước 5hình 3.1)Execution engine dìm yêu cầu thực thi và lấy các metadata quan trọng và yêu ước mapreduce thực thicông việc ( bước 6.1, 6.2, 6.3 hình 3.1)Khi đầu ra được sinh ra, nó sẽđược ghi dưới dạng 1 temporary file, temorary file này sẽ phân phối những thông tin buộc phải thiếtcho những stages không giống của plan. Nội dung của những temporary tệp tin này được execution hiểu trực tiếp trường đoản cú HDFS như là 1 phần củacác lời call từ Driver ( bước 7, 8, 9 hình 3.1)

4. Quy mô dữ liệu vào Hive

Hình 4.1. Hive Data Model

Dữ liệu trong Hiveđược tổ chức triển khai triển khai thành các kiểu sau :