Apache Spark là gì? Thành phần cơ bản và ưu điểm nổi bật của Apache Spark

Nguyễn Hữu Dũng 27/04/2021

Apache spark đang là một thuật ngữ nhận được nhiều sự quan tâm và chú ý của rất nhiều doanh nghiệp trong việc ứng dụng công nghệ để phân tích và xử lý các dữ liệu nhanh chóng.

Tuy nhiên, đối với những người mới bắt đầu tìm hiểu về apache spark việc tìm kiếm một nguồn thông tin đáng tin cậy là điều vô cùng quan trọng.

Vì vậy, trong bài viết này, Bizfly sẽ mang đến cho bạn đầy đủ và chi tiết nhất định nghĩa Apache Spark là gì? Những thành phần cơ bản và ưu điểm nổi bật nào của Apache Spark mà bạn nên biết đến.

Apache Spark là gì? 

Apache spark là một framework mã nguồn mở tính toán cụm (open source cluster computing framework) được phát triển vào năm 2009 bởi AMPLap. Đến năm 2013, nó được trao lại cho Apache Software Foundation và tiếp tục phát triển cho đến ngày nay.

Apache Spark là gì

Apache Spark là gì? 

Apache spark cho phép bạn xây dựng những mô hình dự đoán nhanh chóng với khả năng thực hiện tính toán cùng lúc trên một nhóm các máy tính hay trên toàn bộ các tập dữ liệu mà không cần thiết phải trích xuất các mẫu tính toán thử nghiệm. Tốc độ xử lý dữ liệu của Apache spark có được là do khả năng thực hiện các tính toán trên nhiều máy khác nhau cùng một lúc tại bộ nhớ trong (in-memories) hay hoàn toàn trên RAM. 

Apache spark cho phép bạn có thể xử lý các dữ liệu theo thời gian thực. Nghĩa là nó có thể vừa nhận dữ liệu từ các nguồn dữ liệu khác nhau, vừa có thể thực hiện xử lý ngay những dữ liệu mà nó vừa nhận được một cách đồng thời.

Apache spark không có hệ thống file cho riêng mình. Nó sử dụng nhiều hệ thống file khác nhau như S3, Cassandra, HDFS,.. và hoàn toàn không phụ thuộc vào bất cứ hệ thống file nào nói trên. 

Các thành phần cơ bản của Spark 

Để giúp bạn có cái nhìn chi tiết hơn và hiểu hơn về Apache spark, Bizfly sẽ cung cấp đến bạn những thành phần cơ bản và quan trọng của Spark mà bạn không thể nào bỏ qua được.

Spark Core

Đây được xem là nền tảng và điều kiện cho sự vận hành của các thành phần còn lại của Apache spark. Lý do đơn giản bởi vì thành phần này đảm nhận vai trò thực hiện các công việc tính toán, xử lý trong bộ nhớ và tham chiếu các dữ liệu được lưu trữ tại các hệ thống lưu trữ ở bên ngoài.

Spark Core là thành phần cơ bản của Spark

Spark Core là thành phần cơ bản của Spark

Spark SQL

Là thành phần cung cấp SchemaRDD (kiểu data abstraction mới) với mục đích hỗ trợ cho các kiểu dữ liệu cấu trúc structured data và dữ liệu nửa cấu trúc semi-structured data (dữ liệu có cấu trúc nhưng không đồng nhất và phụ thuộc vào nội dung của dữ liệu). Thành phần này giúp thực hiện các thao tác trên các Dataframes bằng các ngôn ngữ như Java, Scala hay Python thông qua sự hỗ trợ của Domain-specific language (DSL) và SQL.

Spark Streaming

Mục đích sử dụng của thành phần này chính là coi stream là các mini batches và thực hiện các kỹ thuật RDD transformation với các dữ liệu này để phân tích stream. Điều này giúp việc xử lý stream và phát triển lambda architecture trở nên dễ dàng bằng cách tận dụng lại các đoạn code được viết để xử lý batch.

Tuy nhiên, trong việc xử lý dữ liệu thì điều này lại tạo ra độ trễ.

MLlib

Là một nền tảng học máy, Spark MLlib nhanh hơn gấp 9 lần so với phiên bản chạy trên Hadoop (theo so sánh của benchmark) nhờ kiến trúc phân tán dựa trên bộ nhớ.

MLlib cũng là một thành phần cơ bản của Apache Spark

MLlib cũng là một thành phần cơ bản của Apache Spark

GrapX

Đây là nền tảng xử lý các đồ thị dựa trên Spark. Nó cung cấp các API và được sử dụng để diễn tả tất cả các tính toán có trong đồ thị thông qua Pregel Api.

Theo thống kê, tại các thư viện mà Spark cung cấp thì người dùng Spark SQL là 69%, người sử dụng Dataframes là khoảng 62% và 58% người sử dụng Spark Streaming và MLlib + GraphX.

Ưu điểm nổi bật của Apache Spark là gì? 

Bên cạnh những thành phần mang nhiều tính năng hữu ích kể trên của Apache spark thì nó còn có những ưu điểm, lợi ích nổi bật cho những ai sử dụng Apache spark:

Ưu điểm nổi bật của Apache Spark là gì

Ưu điểm nổi bật của Apache Spark là gì?

  • Khả năng xử lý dữ liệu: Apache spark có thể xử lý các dữ liệu theo lô và thời gian thực.
  • Khả năng tương thích: Apache spark có thể tích hợp với tất cả các định dạng tệp và các nguồn dữ liệu do cụm Hadoop hỗ trợ.
  • Hỗ trợ ngôn ngữ: Các ngôn ngữ được hỗ trợ bao gồm Java, Python, Scala và R.
  • Dễ quản lý: Bạn có thể dễ dàng quản lý (submit, bắt đầu, dừng lại, xem trạng thái, sparkcontext, spark job) giao diện REST.
  • Điều chỉnh độ trễ: Bằng cách tạo sẵn những sparkcontext cho các công việc dùng chung mà bạn có thể dễ dàng tăng hay giảm độ trễ thực thi công việc tới mức chỉ tính bằng giây.

Apache spark tuy là một khái niệm mới nhưng tiềm năng phát triển trong tương lai là rất lớn, nhất là trong lĩnh vực IT với các công nghệ cốt lõi.

Trên đây là bài viết giới thiệu khái quát nhất về Apache spark giúp bạn có thể hiểu rõ được Apache spark là gì, những thành phần và lợi ích mà nó mang lại khi bạn lựa chọn sử dụng cho công việc IT của mình. Hy vọng, bạn có thể tìm kiếm được những thông tin hữu ích có trong bài viết.

>> Xem thêm: Bootstrap là gì? Tính năng cơ bản và lý do vì sao nên sử dụng cho website?

Nhận ngay tin tức mới nhất từ Bizfly

Nhận ngay tin tức mới nhất từ Bizfly