Apache Kylin cho OLAP trên Hadoop


Phạm Tùng Lâm
3 năm trước
Hữu ích 8 Chia sẻ Viết bình luận 0
Đã xem 3489

Theo truyền thống, Hadoop (thông qua MapReduce, Pig hoặc Hive) được sử dụng để chuẩn bị dữ liệu cho  các khối OLAP  cho các động cơ OLAP độc quyền bên ngoài. Bây giờ chúng tôi tại Zaloni đang bắt gặp các công ty sử dụng  Apache Kylin  để đạt được các khả năng truy vấn thời gian thực trên các khối OLAP được hỗ trợ bởi các bảng thực tế hàng 40 tỷ cộng. Chúng tôi đang giúp một công ty thống nhất dữ liệu thanh toán từ các hệ thống khác nhau để tạo ra các khối OLAP cung cấp các phân tích không thể có với các hệ thống hiện tại. Tất cả điều này xảy ra trong cụm Hadoop.

Sự phát triển của phân tích trên Hadoop

Hadoop đã phát triển từ một nền tảng dữ liệu phân tán với khả năng tính toán chung (thông qua MapReduce) thành một nền tảng mạnh mẽ. Hadoop và các công cụ hệ sinh thái của nó hiện có khả năng giải quyết một loạt các trường hợp sử dụng ngoài việc xử lý hàng loạt phân tán chi phí thấp, tuyên bố ban đầu của Hadoop để nổi tiếng. Từ các máy học lặp đi lặp lại đến  các  hệ thống OLAP  và  OLTP , các khả năng phân tích mã nguồn chạy chạy trên cụm Cá nhân đang gây áp lực lên những người chơi truyền thống trong lĩnh vực này (Oracle, SAS, Teradata, IBM, v.v.).

Được thiết kế cho quy mô

Apache Kylin, được đặt theo tên của một sinh vật huyền thoại Trung Quốc, là một công cụ xử lý phân tích trực tuyến đa chiều (MOLAP) mã nguồn mở. Có nguồn gốc từ eBay, Inc., Kylin được thiết kế để xử lý các bộ dữ liệu quy mô petabyte. Đây là một trích dẫn từ  Blog Apache Foundation từ tháng 12 năm 2015 :

"Apache Kylin là công cụ OLAP tốt nhất về Dữ liệu lớn cho đến nay", Wilson Pang, Giám đốc cấp cao về Dịch vụ và Giải pháp Dữ liệu tại eBay cho biết. "Tại eBay, chúng tôi thu thập mọi hành vi của người dùng trên mọi màn hình eBay. Trong khi các công cụ OLAP khác vật lộn với khối lượng dữ liệu, Kylin cho phép trả lời truy vấn trong một phần nghìn giây. Ngoài ra, chúng tôi cũng bắt đầu tận dụng Kylin để lưu trữ và phân tích dữ liệu theo thời gian thực gần. Tất cả cùng nhau, Kylin đóng vai trò là thành phần phụ trợ quan trọng cho nền tảng phân tích sản phẩm của eBay. "

Làm thế nào nó hoạt động

Kylin đạt được tốc độ của nó bằng cách tính toán trước các kết hợp kích thước khác nhau và phép đo tổng hợp thông qua   các truy vấn Hive và   kết quả HBase với các kết quả. Công cụ truy vấn Kylin - có thể truy cập trong UI thân thiện với người dùng của Kylin, thông qua API hoặc qua JDBC - tận dụng   bộ xử lý truy vấn Apache Canxit và các tính năng HBase (như bộ lọc hàng mờ) để đạt được tra cứu nhanh. Các hàng của HBase cũng nhỏ gọn, do sử dụng  Cấu trúc dữ liệu Trie  cho từ điển của các giá trị thứ nguyên.

Kylin chỉ hỗ trợ  lược đồ sao . Bạn bị giới hạn trong một bảng thực tế duy nhất cho mỗi khối.

Thuật sĩ

Xây dựng một khối lập phương là một snap. Giả sử bạn đã có bảng Hive, trình hướng dẫn sẽ hướng dẫn bạn qua quy trình chọn kích thước (có thể phân cấp), chọn bảng tra cứu, chọn số đo, v.v. Phân vùng theo ngày là có thể và làm mới các phân đoạn của khối lập phương, ví dụ, khi liên quan đến dữ liệu gia tăng hoặc truyền phát. Khi khối được xác định, quá trình xây dựng có thể được theo dõi trong UI của Kylin.

Ngoài giao diện người dùng web của Kylin, bạn có thể truy vấn các khối OLAP thông qua JDBC, bên trong Zeppelin (có trình thông dịch Kylin được phân phối với Zeppelin) hoặc bằng API REST được thiết kế tốt.

Các tùy chọn khác cho OLAP trên Hadoop

Kylin chỉ là một tùy chọn mã nguồn mở cho OLAP trên Hadoop. Apache Lens  là một  giải pháp khác, nhưng nó là một  giải pháp ROLAP và hiện không cung cấp khả năng đáp ứng mà các khối được tính toán trước của Kylin mang lại. Druid  cũng là tùy chọn, nhưng nó tận dụng các công nghệ phân cụm của riêng mình (không yêu cầu Hadoop). Ngoài ra còn có các giải pháp nhà cung cấp tuyên bố để đạt được khả năng OLAP trên Hadoop. 

Hữu ích 8 Chia sẻ Viết bình luận 0
Đã xem 3489