APACHE SPARK LÀ GÌ

*
Apabịt Spark in-memory clusters sẽ là sự chú ý của tương đối nhiều công ty lớn trong việc áp dụng technology vào phân tích và giải pháp xử lý tài liệu gấp rút. Bài viết này tôi vẫn trình diễn một giải pháp tổng quan liêu tuyệt nhất về Apabịt Spark, một trong số những chiến thuật đòi hỏi đề nghị bao gồm khi cách xử trí Big data.

Bạn đang xem: Apache spark là gì

Tổng quan liêu về Apabít Spark

Apache Spark là một open source cluster computing framework được cải cách và phát triển sơ khởi vào khoảng thời gian 2009 bởi vì AMPLab tại đại học California. Sau này, Spark đã có trao cho Apađậy Software Foundation vào năm 2013 cùng được phát triển cho tới thời điểm bây giờ. Nó được cho phép thiết kế những quy mô dự đoán lập cập với bài toán tính toán thù được thực hiện bên trên một đội các máy tính, bao gồm rất có thể tính toán cùng lúc trên toàn bộ tập dữ liệu nhưng không cần thiết phải trích xuất chủng loại tính tân oán thí nghiệm. Tốc độ cách xử lý của Spark dành được vì chưng việc tính toán thù được thực hiện cùng lúc trên những thứ khác nhau. Đồng thời việc tính toán thù được tiến hành làm việc bộ nhớ lưu trữ trong (in-memories) tuyệt thực hiện trọn vẹn bên trên RAM.

Thành phần của Apabít Spark

Matei Zaharia, thân phụ đẻ của Spark, áp dụng Hadoop tự các ngày đầu. Đến năm 2009 ông viết Apađậy Spark để giải quyết và xử lý gần như bài xích toán học sản phẩm công nghệ làm việc ĐH UC Berkely do Hadoop MapReduce chuyển động ko kết quả mang lại hầu như bài toán này. Rất mau chóng tiếp đến ông phân biệt rằng Spark không chỉ hữu ích mang đến học sản phẩm công nghệ bên cạnh đó cho cả Việc xử lý luồng dữ liệu hoàn hảo.

*
Thành phần trung của Spark là Spark Core: cung cấp gần như tác dụng cơ bạn dạng tuyệt nhất của Spark nhỏng lập lịch cho những tác vụ, thống trị bộ lưu trữ, fault recovery, ảnh hưởng với các hệ thống giữ trữ…điều đặc biệt, Spark Vi xử lý Core cung ứng API nhằm tư tưởng RDD (Resilient Distributed DataSet) là tập hòa hợp của các thắng lợi được phân tán trên những node của cluster cùng có thể được giải pháp xử lý song song.

Spark có thể chạy trên nhiều một số loại Cluster Managers như Hadoop YARN, Apabít Mesos hoặc trên chính cluster manager được hỗ trợ do Spark được Hotline là Standalone Scheduler.

Spark Squốc lộ có thể chấp nhận được truy hỏi vấn tài liệu cấu trúc qua các câu lệnh Squốc lộ. Spark Squốc lộ rất có thể làm việc với tương đối nhiều nguồn tài liệu nhỏng Hive sầu tables, Parquet, cùng JSON.

Spark Streaming cung ứng API nhằm dễ ợt cách xử lý dữ liệu stream,

MLlib Cung cấp rất nhiều thuật tân oán của học thiết bị như: classification, regression, clustering, collaborative filtering…

GraphX là thư viện để cách xử trí đồ thị.

Trong các thỏng viện nhưng Spark hỗ trợ thì tất cả 69% người dùng Spark SQL, 62% thực hiện DataFrames, Spark Streaming cùng MLlib + GraphX là 58%

Tại sao nên áp dụng Apabít Spark

*

Những công dụng nổi bật

“Spark as a Service”: Giao diện REST để quản lí lí (submit, start, stop, coi trạng thái) spark job, spark contextTăng tốc, bớt độ trễ tiến hành job xuống tới mức chỉ tính bằng giây bằng phương pháp chế tạo ra sẵn spark context cho các job sử dụng phổ biến.Stop job đang hoạt động bằng phương pháp stop spark contextBỏ bước upload gói jar dịp start job tạo nên job được start nkhô nóng rộng.Cung cấp hai lý lẽ chạy job nhất quán với sự không tương đồng bộCho phnghiền cađậy RDD theo thương hiệu , tăng tính share cùng áp dụng lại RDD giữa các jobHỗ trợ viết spark job bằng cú pháp SQLDễ dàng tích hợp với các quy định báo cáo như: Business Intelligence, Analytics, Data Integration Tools

Quản lý bộ nhớ lưu trữ của Apabịt Spark

Về bộ lưu trữ, Spark giải quyết và xử lý những vụ việc vấn đề bao quanh có mang Resilient Distributed Datasets (RDDs). RDDs cung ứng nhì kiểu thao tác thao tác: transformations và action. Thao tác đưa đổi(tranformation) tạo nên datamix trường đoản cú dữ liệu tất cả sẵn. Thao tác actions trả về quý giá cho lịch trình tinh chỉnh (driver program) sau thời điểm thực hiện tính toán trên dataset.

Xem thêm: Cách Crack Camtasia Studio 8.6, Danh Sách Key Camtasia 8

Spark triển khai gửi những làm việc RDD biến hóa vào DAG (Directed Acyclic Graph) với ban đầu tiến hành. lúc một action được Gọi trên RDD, Spark sẽ khởi tạo DAG và gửi cho DAG scheduler. DAG scheduler phân chia các thao tác làm việc thành những nhóm (stage) không giống nhau của các task. Mỗi Stage bao hàm các task dựa vào phân vùng của dữ liệu nguồn vào có thể pipline cùng nhau và có thể thực hiện một giải pháp chủ quyền bên trên một thiết bị worker. DAG scheduler thu xếp các thao tác làm việc phù hợp cùng với quy trình thực hiện theo thời hạn sao để cho tối ưu duy nhất. Ví dụ: các thao tác maps sẽ tiến hành đưa vào cùng một stage vày không xảy ra shuffle dữ liệu thân các stage. Kết trái ở đầu cuối của DAG scheduler là 1 tập những stage. Các Stages được gửi mang đến Task Scheduler. Task Scheduler đã chạy những task trải qua cluster manager (Spark Standalone/Yarn/Mesos). Task scheduler trù trừ về sự việc phụ thuộc vào của những stages. Nó chỉ Chịu trách nhiệm thực hiện thu xếp các task một bí quyết về tối ưu nhất.

Mỗi Worker bao gồm một hoặc các Excuter. Các excuter chịu đựng trách rưới nhiệm triển khai những task bên trên các luồng cá biệt. Việc phân tách nhỏ những task giúp đem đến hiệu năng cao hơn nữa, bớt tđọc ảnh hưởng của tài liệu ko đối xứng (kích cỡ những file không đồng đều).

Quá trình Spark xây cất DAG: Có hai dạng hình thay đổi rất có thể áp dụng trên những RDDs sẽ là biến hóa dong dỏng với biến đổi rộng:

– Chuyển đổi hẹp: ko trải đời đảo lộn tài liệu quá qua những phân vùng

(partition).Ví dụ nlỗi những thao tác bản đồ, filter,..

– Chuyển đổi rộng những hiểu biết tài liệu đề nghị đảo lộn. Ví dụ: reduceByKey,

sortByKey, groupByKey,…

Các thành phần bao gồm trong quản lý cỗ nhớ:

Spark truy cập tài liệu được lưu trữ sống các mối cung cấp khác biệt như: HDFS, Local Disk, RAM. Cache Manager áp dụng Blochồng Manager nhằm cai quản tài liệu. Cabịt Manager cai quản tài liệu nào được Cache bên trên RAM, thông thường là dữ liệu được áp dụng liên tiếp độc nhất vô nhị, nó cũng rất có thể được khẳng định thủ công bằng tay bằng tay thủ công sử dụng cách làm persit hoặc cađậy. Nếu size RAM không đủ chứa tài liệu thì dữ liệu sẽ được lưu trữ quý phái Tachyon và sau cuối là lưu trữ ra đĩa. Lúc dữ liệu(RDD) không được tàng trữ bên trên RAM, lúc có nhu cầu thực hiện cho, bọn chúng sẽ được recompute lại. Nó thực hiện một tư tưởng là “storage level” để thống trị cấp độ của lưu trữ của dữ liệu.

Spark Languages

Lập trình viên hoàn toàn có thể viết các áp dụng Spark bằng nhiều ngữ điệu không giống nhau. Năm năm trước, 84% người dùng thực hiện Scala, trong lúc Java với Python thả thuộc là 38% (Người sử dụng hoàn toàn có thể áp dụng nhiều hơn thế 1 ngôn từ trong các vận dụng của mình). Đến năm 2015, Spark cung ứng thêm ngữ điệu R, khôn cùng hối hả tất cả tới 18% người tiêu dùng R, Pythuôn cũng tạo thêm 58%.

*

Những cửa hàng vẫn thực hiện Apache Spark

Trong thời điểm này, có khá nhiều công ty lớn vẫn dùng Spark nlỗi Yahoo, Twitter, Ebay....

*

Kết luận

Đối với những bên hỗ trợ chiến thuật công nghệ thông tin, Apađậy Spark là một trong lá bài xích đặc trưng trong việc áp dụng các công nghệ chủ đạo nhằm tạo phần lớn data warehouses hiện đại. Đây là một phân khúc Khủng trong ngành IT có khả năng đuc rút sản phẩm tỉ đô lợi nhuận từng năm. Spark giới thiệu một quan niệm bắt đầu với những tiềm ẩn sau đây chính là data lakes. Đây là 1 trong những khu vực tàng trữ một lượng tài liệu to đùng với khá nhiều định dạng khác nhau với được truy vấn để giải pháp xử lý Lúc quan trọng. Data lakes chỉ dẫn một framework tmùi hương mại có thể tạo ra một môi trường thiên nhiên tàng trữ vô hạn bất kỳ các loại dữ liệu nào

Và bên trên đây là nội dung bài viết ra mắt tổng quan lại về Apađậy Spark, hi vọng những chúng ta có thể tìm thấy các điều có ích trong những số đó. Bài viết chắc chắn vẫn còn đó sự thiếu sót, mình khôn xiết mong muốn nhận được sự góp ý của chúng ta.

Tài liệu tsi khảo

Learning Spark by Matei Zaharia, Patriông chồng Wendell, Andy Konwinski, Holden Karau