*
Apađậy Spark in-memory clusters vẫn là sự việc chú ý của tương đối nhiều doanh nghiệp trong câu hỏi ứng dụng công nghệ vào đối chiếu cùng cách xử lý tài liệu nhanh chóng. Bài viết này tôi sẽ trình diễn một cách tổng quan liêu độc nhất vô nhị về Apabịt Spark, một trong số những chiến thuật yên cầu đề xuất có khi giải pháp xử lý Big data.

Bạn đang xem: Pertanyaan wawancara apache spark: kuasai & lolos seleksi

Tổng quan tiền về Apađậy Spark

Apache Spark là một open source cluster computing framework được cải tiến và phát triển sơ khởi vào năm 2009 vì AMPLab tại đại học California. Sau này, Spark đã được trao mang đến Apađậy Software Foundation vào năm trước đó cùng được phát triển cho đến thời điểm bây giờ. Nó được cho phép xây cất các mô hình dự đân oán lập cập cùng với câu hỏi tính toán được thực hiện bên trên một đội nhóm các máy tính xách tay, bao gồm rất có thể tính toán cùng lúc trên tổng thể tập tài liệu nhưng mà không nhất 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 đã đạt được vày câu hỏi tính tân oán được triển khai đồng thời bên trên những thiết bị khác nhau. Đồng thời bài toán tính toán được thực hiện sinh sống bộ lưu trữ vào (in-memories) hay thực hiện trọn vẹn bên trên RAM.

Thành phần của Apache Spark

Matei Zaharia, phụ vương đẻ của Spark, sử dụng Hadoop từ bỏ phần lớn ngày đầu. Đến năm 2009 ông viết Apađậy Spark nhằm giải quyết và xử lý mọi bài toán thù học tập sản phẩm công nghệ nghỉ ngơi đại học UC Berkely bởi vì Hadoop MapReduce vận động ko công dụng mang lại số đông bài toán này. Rất nhanh chóng tiếp đến ông nhận biết rằng Spark không chỉ có có ích mang đến học sản phẩm Ngoài ra cho tất cả việc xử trí luồng tài liệu hoàn chỉnh.

*
Thành phần trung của Spark là Spark Core: hỗ trợ phần nhiều chức năng cơ bản tốt nhất của Spark như lập kế hoạch cho những tác vụ, quản lý bộ lưu trữ, fault recovery, tác động với các khối hệ thống lưu trữ…Đặc biệt, Spark Core cung ứng API nhằm khái niệm RDD (Resilient Distributed DataSet) là tập thích hợp của những thắng lợi được phân tán bên trên những node của cluster cùng hoàn toàn có thể được xử lý tuy vậy tuy nhiên.

Spark có thể chạy xe trên các một số loại Cluster Managers nhỏng Hadoop YARN, Apabít Mesos hoặc bên trên chủ yếu cluster manager được hỗ trợ vì Spark được điện thoại tư vấn là Standalone Scheduler.

Spark SQL được cho phép truy nã vấn dữ liệu cấu tạo qua các câu lệnh SQL. Spark SQL rất có thể làm việc với rất nhiều mối cung cấp tài liệu nlỗi Hive sầu tables, Parquet, và JSON.

Spark Streaming cung ứng API để dễ dàng cách xử lý tài liệu stream,

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

GraphX là thỏng viện để giải pháp xử lý đồ thị.

Trong những thư viện mà Spark hỗ trợ thì gồm 69% người dùng Spark Squốc lộ, 62% thực hiện DataFrames, Spark Streaming cùng MLlib + GraphX là 58%

Tại sao phải áp dụng Apache Spark

*

Những tính năng nổi bật

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

Quản lý bộ nhớ lưu trữ của Apađậy Spark

Về bộ nhớ, Spark xử lý các vụ việc vấn đề bao bọc tư tưởng Resilient Distributed Datasets (RDDs). RDDs cung ứng nhị mẫu mã thao tác làm việc thao tác: transformations với action. Thao tác chuyển đổi(tranformation) tạo thành dataphối từ tài liệu gồm sẵn. Thao tác actions trả về quý hiếm cho chương trình tinh chỉnh (driver program) sau khoản thời gian thực hiện tính toán trên datamix.

Xem thêm: Baal Là Ai - Thần Moloch

Spark triển khai gửi các thao tác RDD đổi khác vào DAG (Directed Acyclic Graph) và bắt đầu tiến hành. khi một action được call trên RDD, Spark sẽ tạo nên DAG và gửi cho DAG scheduler. DAG scheduler phân tách các làm việc thành các team (stage) khác biệt của những task. Mỗi Stage bao gồm những task dựa vào phân vùng của dữ liệu nguồn vào rất có thể pipline với nhau cùng rất có thể thực hiện một bí quyết độc lập trên một trang bị worker. DAG scheduler sắp xếp những thao tác làm việc phù hợp với quy trình tiến hành theo thời gian làm sao cho tối ưu độc nhất vô nhị. Ví dụ: những làm việc maps sẽ được chuyển vào và một stage bởi vì ko xẩy ra shuffle dữ liệu thân các stage. Kết trái sau cùng của DAG scheduler là một trong tập những stage. Các Stages được chuyển đến Task Scheduler. Task Scheduler đang chạy những task trải qua cluster manager (Spark Standalone/Yarn/Mesos). Task scheduler phân vân về sự dựa vào của những stages. Nó chỉ chịu đựng trách nhiệm triển khai bố trí những task một cách buổi tối ưu độc nhất.

Mỗi Worker bao gồm 1 hoặc các Excuter. Các excuter chịu đựng trách rưới nhiệm thực hiện các task trên những luồng đơn nhất. Việc chia nhỏ tuổi những task giúp đem đến tính năng cao hơn, sút thiểu ảnh hưởng của dữ liệu ko đối xứng (size những file ko đồng đều).

Quá trình Spark desgin DAG: Có hai dạng hình biến hóa có thể vận dụng bên trên các RDDs đó là đổi khác nhỏ với đổi khác rộng:

– Chuyển thay đổi hẹp: không hưởng thụ xáo trộn dữ liệu vượt qua các phân vùng

(partition).lấy ví dụ như như những làm việc maps, filter,..

– Chuyển thay đổi rộng lớn đề nghị dữ liệu yêu cầu đảo lộn. Ví dụ: reduceByKey,

sortByKey, groupByKey,…

Các yếu tắc chủ yếu trong cai quản cỗ nhớ:

Spark truy vấn tài liệu được tàng trữ sinh hoạt những nguồn khác biệt như: HDFS, Local Disk, RAM. Cađậy Manager thực hiện Bloông xã Manager nhằm cai quản dữ liệu. Cađậy Manager cai quản tài liệu nào được Cabịt trên RAM, thông thường là tài liệu được thực hiện liên tục độc nhất vô nhị, nó cũng có thể được xác định bằng tay thủ công bằng tay thực hiện cách làm persit hoặc cađậy. Nếu size RAM không đủ chứa tài liệu thì tài liệu sẽ được tàng trữ lịch sự Tachyon với ở đầu cuối là tàng trữ ra đĩa. Lúc dữ liệu(RDD) ko được lưu trữ trên RAM, Khi mong muốn thực hiện đến, bọn chúng sẽ được recompute lại. Nó thực hiện một quan niệm là “storage level” để thống trị Lever của tàng trữ của dữ liệu.

Spark Languages

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

*

Những cửa hàng đang áp dụng Apabịt Spark

Lúc này, có rất nhiều công ty lớn sẽ sử dụng Spark nlỗi Yahoo, Twitter, Ebay....

*

Kết luận

Đối cùng với các nhà cung cấp chiến thuật công nghệ thông tin, Apađậy Spark là 1 trong những lá bài quan trọng trong việc áp dụng các technology cốt yếu để kiến tạo hầu hết data warehouses tân tiến. Đây là một phân khúc phệ trong lĩnh vực IT có công dụng đuc rút sản phẩm tỉ đô doanh thu từng năm. Spark giới thiệu một tư tưởng mới mang các tiềm ẩn sau đây đó là data lakes. Đây là một trong vị trí lưu trữ một lượng dữ liệu mập mạp với nhiều định hình khác nhau và được truy vấn vấn để xử trí Lúc cần thiết. Data lakes giới thiệu một framework thương thơm mại rất có thể tạo nên một môi trường thiên nhiên tàng trữ vô hạn bất kỳ một số loại dữ liệu nào

Và bên trên đây là bài viết reviews tổng quan lại về Apađậy Spark, mong muốn những chúng ta cũng có thể tra cứu thấy đông đảo điều có lợi trong những số ấy. Bài viết chắc hẳn rằng vẫn còn đó sự thiếu thốn sót, bản thân khôn cùng ước ao nhận ra sự góp ý của các bạn.

Tài liệu tsay đắm khảo

Learning Spark by Matei Zaharia, Patrichồng Wendell, Andy Konwinski, Holden Karau
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *