Các thành phần chính của Spark

Một phần của tài liệu Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông minh (Trang 39 - 41)

3 Khảo sát và lựa chọn framework xử lý dữ liệu

3.3.2 Các thành phần chính của Spark

Spark cung cấp một ngôn ngữ truy vấn cấp cao để xử lý dữ liệu. Spark Core là module cốt lõi xử lý dữ liệu chính trong hệ sinh thái Spark, có các API bằng Scala,

Chương 3. Khảo sát và lựa chọn framework xử lý dữ liệu 25 Java, Python và R. Điểm đặc biệt nhất của Spark phải kể đến là cấu trúc dữ liệu RDD (Resilient Distributed Datasets), tập dữ liệu phân tán có khả năng phục hồi. RDD được tính toán theo cơ chế lazily evaluated, kiểu tĩnh và phân tán.

Ngoài Spark Core, hệ sinh thái Spark còn có: Spark SQL, Spark MLlib, Spark ML, Spark Streaming và GraphX cung cấp chức năng xử lý dữ liệu cụ thể hơn. Spark SQL cung cấp một giao diện cho kiểu dữ liệu bán cấu trúc, được gọi là DataFrames, và kể từ Spark 1.6, một RDD có cấu trúc, sẽ được gọi là Datasets. Spark có hai module học máy: ML và MLlib. MLlib là một module các thuật toán thống kê và học máy được viết bằng Spark. Spark ML vẫn đang trong giai đoạn đầu và mới chỉ tồn tại kể từ Spark 1.2. Spark ML cung cấp API cấp cao hơn MLlib với mục tiêu cho phép người dùng dễ dàng tạo pipeline học máy. Spark MLlib chủ yếu được xây dựng trên RDD và sử dụng các chức năng từ Spark Core, trong khi ML được xây dựng trên Spark SQL DataFrames. Cuối cùng cộng đồng Spark có kế hoạch chuyển sang ML và không dùng MLlib nữa.

Spark Streaming là module hỗ trợ việc xử lý dữ liệu Streaming. Module này đang sử dụng 2 bộ API. Một là dựa trên RDD — gọi là DStreams và hai là dựa trên Spark SQL/DataFrames — được gọi là Structured Streaming.

GraphX là một framework xử lý đồ thị với một số API để tính toán đồ thị.

Chương 3. Khảo sát và lựa chọn framework xử lý dữ liệu 26

Một phần của tài liệu Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông minh (Trang 39 - 41)