Apache Spark với Hadoop - Tại sao lại quan trọng?



Việc các công ty hàng đầu triển khai Apache Spark với Hadoop trên quy mô lớn cho thấy sự thành công và tiềm năng của nó khi xử lý thời gian thực.

Hadoop, khung xử lý dữ liệu đã trở thành một nền tảng của chính nó, thậm chí còn trở nên tốt hơn khi các thành phần tốt được kết nối với nó. Một số thiếu sót của Hadoop, như thành phần MapReduce của Hadoop nổi tiếng là chậm phân tích dữ liệu theo thời gian thực.





Nhập Apache Spark, một công cụ xử lý dữ liệu dựa trên Hadoop được thiết kế cho cả khối lượng công việc hàng loạt và trực tuyến, hiện đã có phiên bản 1.0 và được trang bị các tính năng minh họa những loại công việc mà Hadoop đang được đẩy vào. Spark chạy trên các cụm Hadoop hiện có để cung cấp chức năng nâng cao và bổ sung.

Hãy xem các tính năng chính của spark và cách hoạt động của nó cùng với Hadoop và .



Lợi ích chính của Apache Spark:

img2-R

Các tính năng tuyệt vời của Spark:

  • Tích hợp Hadoop - Spark có thể hoạt động với các tệp được lưu trữ trong HDFS.
  • Spark’s Interactive Shell - Spark được viết bằng Scala và có phiên bản thông dịch Scala của riêng nó.
  • Bộ phân tích của Spark - Spark đi kèm với các công cụ để phân tích truy vấn tương tác, xử lý và phân tích đồ thị quy mô lớn và phân tích thời gian thực.
  • Tập dữ liệu phân tán có khả năng phục hồi (RDD’s) - RDD’s là các đối tượng phân tán có thể được lưu vào bộ nhớ đệm trong bộ nhớ, trên một cụm các nút tính toán. Chúng là các đối tượng dữ liệu chính được sử dụng trong Spark.
  • Nhà điều hành phân tán - Bên cạnh MapReduce, có rất nhiều toán tử khác mà người ta có thể sử dụng trên RDD’s.

Ưu điểm của việc sử dụng Apache Spark với Hadoop:

bộ lọc ngữ cảnh trong hoạt cảnh là gì
  • Apache Spark phù hợp với cộng đồng mã nguồn mở Hadoop, xây dựng dựa trên Hệ thống tệp phân tán Hadoop (HDFS). Tuy nhiên, Spark không bị ràng buộc với mô hình MapReduce hai giai đoạn và hứa hẹn hiệu suất nhanh hơn 100 lần so với Hadoop MapReduce cho một số ứng dụng nhất định.



  • Phù hợp với các thuật toán học máy - Spark cung cấp các nguyên tắc cơ bản cho tính toán cụm trong bộ nhớ cho phép các chương trình người dùng tải dữ liệu vào bộ nhớ của cụm và truy vấn nó nhiều lần.

  • Chạy nhanh hơn 100 lần - Spark, phần mềm phân tích cũng có thể tăng tốc các công việc chạy trên nền tảng xử lý dữ liệu Hadoop. Được mệnh danh là “con dao Hadoop của Quân đội Thụy Sĩ”, Apache Spark cung cấp khả năng tạo các công việc phân tích dữ liệu có thể chạy nhanh hơn 100 lần so với các công việc chạy trên Apache Hadoop MapReduce tiêu chuẩn. MapReduce đã bị chỉ trích rộng rãi như một nút cổ chai trong các cụm Hadoop vì nó thực thi các công việc ở chế độ hàng loạt, có nghĩa là không thể phân tích dữ liệu theo thời gian thực.

  • Thay thế cho MapReduce - Spark cung cấp một giải pháp thay thế cho MapReduce. Nó thực hiện các công việc theo từng đợt ngắn của các lô vi mô cách nhau năm giây hoặc ít hơn. Nó cũng cung cấp sự ổn định hơn so với các khuôn khổ Hadoop theo thời gian thực, hướng luồng như Twitter Storm. Phần mềm có thể được sử dụng cho nhiều công việc khác nhau, chẳng hạn như phân tích liên tục dữ liệu trực tiếp và nhờ có thư viện phần mềm, các công việc chuyên sâu hơn về tính toán liên quan đến học máy và xử lý đồ thị.

  • Hỗ trợ nhiều ngôn ngữ - Sử dụng Spark, các nhà phát triển có thể viết các công việc phân tích dữ liệu bằng Java, Scala hoặc Python, sử dụng tập hợp hơn 80 toán tử cấp cao.

    là một và có một mối quan hệ trong java
  • Hỗ trợ Thư viện - Các thư viện của Spark được thiết kế để bổ sung cho các loại công việc xử lý đang được khám phá mạnh mẽ hơn với các triển khai Hadoop được hỗ trợ thương mại mới nhất. MLlib triển khai một loạt các thuật toán học máy phổ biến, chẳng hạn như phân loại Bayesian ngây thơ hoặc phân nhóm Spark Streaming cho phép xử lý tốc độ cao dữ liệu được nhập từ nhiều nguồn và GraphX ​​cho phép tính toán trên dữ liệu đồ thị.

  • API ổn định - Với phiên bản 1.0, Apache Spark cung cấp một API (giao diện lập trình ứng dụng) ổn định, các nhà phát triển có thể sử dụng để tương tác với Spark thông qua các ứng dụng của riêng họ. Điều này giúp sử dụng Storm dễ dàng hơn trong triển khai dựa trên Hadoop.

  • Thành phần SPARK SQL - Thành phần Spark SQL để truy cập dữ liệu có cấu trúc, cho phép dữ liệu được thẩm vấn cùng với dữ liệu phi cấu trúc trong công việc phân tích. Spark SQL, hiện mới chỉ ở dạng alpha, cho phép chạy các truy vấn giống SQL dựa trên dữ liệu được lưu trữ trong Apache Hive. Trích xuất dữ liệu từ Hadoop qua truy vấn SQL là một biến thể khác của chức năng truy vấn thời gian thực xuất hiện xung quanh Hadoop.

  • Khả năng tương thích của Apache Spark với Hadoop [HDFS, HBASE và YARN] - Apache Spark hoàn toàn tương thích với Hệ thống tệp phân tán của Hadoop (HDFS), cũng như với các thành phần Hadoop khác như YARN (Yet Another Resource Negotiator) và cơ sở dữ liệu phân tán HBase.

Người chấp nhận ngành:

Các công ty CNTT như Cloudera, Pivotal, IBM, Intel và MapR đều đã xếp Spark vào ngăn xếp Hadoop của họ. Databricks, một công ty được thành lập bởi một số nhà phát triển của Spark, cung cấp hỗ trợ thương mại cho phần mềm. Cả Yahoo và NASA, trong số những người khác, đều sử dụng phần mềm này cho các hoạt động dữ liệu hàng ngày.

Phần kết luận:

Những gì Spark cung cấp chắc chắn sẽ là một điểm thu hút lớn cho cả người dùng và các nhà cung cấp thương mại của Hadoop. Những người dùng đang tìm cách triển khai Hadoop và những người đã xây dựng nhiều hệ thống phân tích của họ xung quanh Hadoop bị thu hút bởi ý tưởng có thể sử dụng Hadoop như một hệ thống xử lý thời gian thực.

Spark 1.0 cung cấp cho họ nhiều chức năng khác để hỗ trợ hoặc xây dựng các mặt hàng độc quyền xung quanh. Trên thực tế, một trong ba nhà cung cấp lớn của Hadoop, Cloudera, đã và đang cung cấp hỗ trợ thương mại cho Spark thông qua dịch vụ Cloudera Enterprise. Hortonworks cũng đã cung cấp Spark như một thành phần của bản phân phối Hadoop. Việc triển khai Spark trên quy mô lớn bởi các công ty hàng đầu cho thấy sự thành công và tiềm năng của nó khi xử lý theo thời gian thực.

Có một câu hỏi cho chúng tôi? Đề cập đến họ trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn.

Bài viết liên quan:

biến chuỗi thành mảng php