Mục lục:
- RHadoop
- rmr2:
- Cuối cùng, khả năng mở rộng của công cụ thống kê Big R cho phép các nhà phát triển R sử dụng cả hai kỹ thuật thống kê được xác định trước, cũng như các thuật toán tác giả mới.
Video: BIG DATA for Management - Dữ liệu lớn trong quản trị doanh nghiệp - Đào tạo Tập Đoàn Trí Việt 2025
Lúc đầu, những dữ liệu lớn và R không phải là những người bạn tự nhiên. R yêu cầu tất cả các đối tượng được nạp vào bộ nhớ chính của một máy đơn. Những hạn chế của kiến trúc này được nhanh chóng nhận ra khi dữ liệu lớn trở thành một phần của phương trình.
Ngược lại, các hệ thống tệp phân phối chẳng hạn như Hadoop thiếu các kỹ thuật thống kê mạnh mẽ nhưng lý tưởng cho việc mở rộng các hoạt động phức tạp và các nhiệm vụ. Các giải pháp cân bằng dọc - yêu cầu đầu tư vào các phần cứng siêu đắt tiền - thường không thể cạnh tranh với giá trị trả về giá trị được cung cấp bởi các nhóm phần cứng phân phối, hàng hóa.
Điều này đã đạt được bằng cách sử dụng hệ thống thông báo và phân trang. Kỹ thuật này có thể tạo điều kiện cho các bộ dữ liệu quá lớn để lưu trữ trong bộ nhớ chính cùng một lúc; tuy nhiên, phương pháp lập trình cấp thấp của nó trình bày một đường cong học tập dốc cho những người không quen thuộc với các mô hình song song lập trình.
Đối với những người lập trình muốn lập trình các công việc MapReduce bằng các ngôn ngữ (kể cả R) khác với Java, một lựa chọn thứ hai là tận dụng API Streaming của Hadoop. Người sử dụng trình MapReduce trải qua quá trình chuyển đổi dữ liệu với sự trợ giúp của các dòng tiêu chuẩn UNIX và serialization, đảm bảo đầu vào tương thích với Java để Hadoop - bất kể ngôn ngữ ban đầu được nhập vào bởi các lập trình viên.
Các nhà phát triển tiếp tục khám phá các chiến lược khác nhau để thúc đẩy khả năng tính toán phân tán của MapReduce và khả năng lưu trữ gần như vô hạn của HDFS theo những cách có thể bị khai thác bởi R.Việc tích hợp Hadoop với R đang được tiến hành, với các dịch vụ có sẵn từ IBM (Big R là một phần của BigInsights) và Revolution Analytics (Revolution R Enterprise). Các giải pháp bắc cầu kết hợp lập trình cấp cao và truy vấn các ngôn ngữ với Hadoop, chẳng hạn như RHive và RHadoop, cũng có sẵn.
Về cơ bản, mỗi hệ thống nhằm cung cấp các khả năng phân tích sâu của ngôn ngữ R sang các bộ dữ liệu lớn hơn.
RHive
Khung RHive là cầu nối giữa ngôn ngữ R và Hive. RHive cung cấp các thư viện thống kê phong phú và các thuật toán của R cho dữ liệu được lưu trữ trong Hadoop bằng cách mở rộng ngôn ngữ truy vấn SQL giống như của Hive (HiveQL) với các chức năng R-specific. Thông qua các hàm RHive, bạn có thể sử dụng HiveQL để áp dụng các mô hình thống kê R vào dữ liệu trong cụm Hadoop của bạn mà bạn đã lập danh mục bằng Hive.
RHadoop
Một khuôn khổ mã nguồn mở khác sẵn có cho các lập trình R là RHadoop, một bộ sưu tập các gói nhằm giúp quản lý phân phối và phân tích dữ liệu với Hadoop. Ba gói của rmr2, rhdfs và rhbase - cung cấp hầu hết các chức năng của RHadoop:
rmr2:
Gói rmr2 hỗ trợ dịch ngôn ngữ R sang các công việc MapReduce phù hợp với Hadoop (tạo ra mã MapReduce hiệu quả thấp từ mã R cấp cao hơn).
-
rhdfs: Gói rhdfs cung cấp một API ngôn ngữ R để quản lý tập tin trên các cửa hàng HDFS. Sử dụng rhdfs, người dùng có thể đọc từ các cửa hàng HDFS đến một khung dữ liệu R (ma trận), và tương tự như vậy ghi dữ liệu từ các ma trận R trở lại vào lưu trữ HDFS.
-
rhbase: gói rhbase cung cấp một API ngôn ngữ R, nhưng mục tiêu của họ trong cuộc sống là để xử lý việc quản lý cơ sở dữ liệu cho các cửa hàng HBase chứ không phải các tệp HDFS. Cách mạng R 999 Revolution là một sản phẩm R thương mại với sự hỗ trợ tích hợp R trên các hệ thống phân phối Hadoop. Revolution R hứa hẹn mang lại hiệu suất hoạt động, tính năng và khả năng sử dụng cho R on Hadoop. Để cung cấp phân tích sâu như R, Cách mạng R sử dụng thư viện ScaleR của công ty - một bộ sưu tập các thuật toán phân tích thống kê được phát triển đặc biệt cho các bộ sưu tập dữ liệu lớn của doanh nghiệp.
-
ScaleR nhằm thực hiện nhanh chóng mã chương trình R trên các nhóm Hadoop, cho phép nhà phát triển R tập trung hoàn toàn vào các thuật toán thống kê của mình chứ không phải trên MapReduce. Hơn nữa, nó xử lý rất nhiều nhiệm vụ phân tích, chẳng hạn như chuẩn bị dữ liệu, hình dung, và kiểm tra thống kê. Big R cung cấp sự tích hợp đầu cuối giữa R và các sản phẩm Hadoop của IBM, BigInsights, cho phép các nhà phát triển R phân tích dữ liệu Hadoop. Mục đích là để khai thác cú pháp lập trình của R và các mô hình hóa mã hóa, đồng thời đảm bảo rằng dữ liệu hoạt động khi vẫn ở trong HDFS. R được sử dụng làm proxy cho các kho dữ liệu này, có nghĩa là các nhà phát triển R không cần phải nghĩ đến cấu trúc MapReduce cấp thấp hoặc bất kỳ ngôn ngữ lập trình cụ thể nào Hadoop (như Pig). BigInsights Công nghệ Big R hỗ trợ nhiều nguồn dữ liệu - bao gồm các tệp tin bằng phẳng, HBase và định dạng lưu trữ Hive - trong khi cung cấp việc thực hiện song song và phân vùng mã R trên toàn bộ cụm Hadoop. Nó che giấu nhiều phức tạp trong các khuôn khổ HDFS và MapReduce bên dưới, cho phép các chức năng của Big R thực hiện phân tích dữ liệu toàn diện - trên cả dữ liệu có cấu trúc và không có cấu trúc.