1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu nền tảng tính toán phân tán Apache Spark

22 831 21

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,43 MB

Nội dung

Từ thập niên 1990, mạng cục bộ và mạng diện rộng ra đời. Điều đó đòi hỏi phải có một hệ điều hành có nhiều chức năng phục vụ quản lý mạng, đảm bảo an toàn vào bảo mật. Yêu cầu đó đã đạt ra sự xuất hiện của các hệ điều hành mạng. Hệ điều hành mạng (network operating system NOS) là một hệ thống phần mềm: điều khiển một mạng và các thông điệp truyền trong mạng đó, bao gồm cả vấn đề quản lý các hàng đợi (queues) các thông điệp; điều khiển quyền truy nhập của nhiều người sử dụng đến các tài nguyên mạng và cung cấp các chức năng quản trị hệ thống, bao gồm cả vấn đề an ninh an toàn.Khi việc xử lý một tập hợp dữ liệu rất lớn và phức tạp mà các ứng dụng xử lý dữ liệu truyền thống không xử lý được. Cùng với các thách thức như phân tích, thu thập, giám sát dữ liệu, tìm kiếm, chia sẻ, lưu trữ, truyền nhận, trực quan, truy vấn và tính riêng tư. Dữ liệu lớn đã đề cập đến việc việc sử dụng các phân tích dự báo, phân tích hành vi người dùng, hoặc một số phương pháp phân tích dữ liệu tiên tiến khác trích xuất giá trị từ dữ liệu mà ít khi đề cập đến kích thước của bộ dữ liệu.Vài nghi ngờ cho rằng số lượng của dữ liệu có sẵn hiện nay thực sự lớn, nhưng đó không phải là đặc trưng phù hợp nhất của hệ sinh thái dữ liệu mới nàyTrong những năm trở lại đây, khi nói về dữ liệu lớn người ta nghĩ ngay đến Apache Hadoop, công nghệ được viết bởi Doug Cutting dựa trên GFS (Google File System) và MapReduce của Google vào năm 2005. Tháng Tư năm 2008, Hadoop trở thành hệ thống nhanh nhất để sắp xếp (sort) 1 terabyte dữ liệu, khi mất 209 giây chạy trên cluster gồm 910 nodes, đánh bại kỷ lục cũ là 297 giây. Tháng 11 năm 2008, Google thông báo hệ thống MapReduce của họ chỉ cần 68 giây để sắp xếp 1 terabyte dữ liệu. Đến tháng 5 năm 2009, Yahoo sử dụng Hadoop chỉ cần 62 giây để làm việc tương tự. Apache Spark (gọi tắt Spark) là một trong những công nghệ hot nhất năm 2015, đến mức nhiều người cho rằng nó sẽ là sự thay thế Apache Hadoop trong tương lai.Với mục đích học tập môn hệ điều mạng, trong thời lượng có hạn, nguồn tài liệu không nhiều, với đề tài “Tìm hiểu nền tảng tính toán phân tán Apache Spark”, bài báo cáo này đã được xây dựng với những nội dung chính như sau:Chương 1: Giới thiệu chung về Apache Spark.Chương 2: Nội dung nền tảng tính toán phân tán Apache SparkChương 3: Cài đặt

MỤC LỤC Lời nói đầu LỜI NĨI ĐẦU Từ thập niên 1990, mạng cục mạng diện rộng đời Điều đòi hỏi phải có hệ điều hành có nhiều chức phục vụ quản lý mạng, đảm bảo an tồn vào bảo mật u cầu đạt xuất hệ điều hành mạng Hệ điều hành mạng (network operating system - NOS) hệ thống phần mềm: điều khiển mạng thơng điệp truyền mạng đó, bao gồm vấn đề quản lý hàng đợi (queues) thông điệp; điều khiển quyền truy nhập nhiều người sử dụng đến tài nguyên mạng cung cấp chức quản trị hệ thống, bao gồm vấn đề an ninh an toàn Khi việc xử lý tập hợp liệu lớn phức tạp mà ứng dụng xử lý liệu truyền thống không xử lý Cùng với thách thức phân tích, thu thập, giám sát liệu, tìm kiếm, chia sẻ, lưu trữ, truyền nhận, trực quan, truy vấn tính riêng tư Dữ liệu lớn đề cập đến việc việc sử dụng phân tích dự báo, phân tích hành vi người dùng, số phương pháp phân tích liệu tiên tiến khác trích xuất giá trị từ liệu mà đề cập đến kích thước liệu.Vài nghi ngờ cho số lượng liệu có sẵn thực lớn, khơng phải đặc trưng phù hợp hệ sinh thái liệu Trong năm trở lại đây, nói liệu lớn người ta nghĩ đến Apache Hadoop, công nghệ viết Doug Cutting dựa GFS (Google File System) MapReduce Google vào năm 2005 Tháng Tư năm 2008, Hadoop trở thành hệ thống nhanh để xếp (sort) terabyte liệu, 209 giây chạy cluster gồm 910 nodes, đánh bại kỷ lục cũ 297 giây Tháng 11 năm 2008, Google thông báo hệ thống MapReduce họ cần 68 giây để xếp terabyte liệu Đến tháng năm 2009, Yahoo sử dụng Hadoop cần 62 giây để làm việc tương tự Apache Spark (gọi tắt Spark) công nghệ hot năm 2015, đến mức nhiều người cho thay Apache Hadoop tương lai Với mục đích học tập mơn hệ điều mạng, thời lượng có hạn, nguồn tài liệu khơng nhiều, với đề tài “Tìm hiểu tảng tính tốn phân tán Apache Spark”, báo cáo xây dựng với nội dung sau: Chương 1: Giới thiệu chung Apache Spark Chương 2: Nội dung tảng tính tốn phân tán Apache Spark Chương 3: Cài đặt Chương 1: Giới thiệu chung Apache Spark CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ APACHE SPARK 1.1 Khái niệm Apache Spark là công nghệ mã nguồn mở 100%, phát triển sơ khai vào năm 2009 AMPLab đại học California, Berkeley Sau này, Spark trao cho Apache Software Foundation vào năm 2013 phát triển Kể từ phát hành, Apache Spark, cơng cụ phân tích thống nhất, nhận chấp nhận nhanh chóng doanh nghiệp nhiều ngành công nghiệp Các nhà cung cấp Internet Netflix, Yahoo eBay triển khai Spark với quy mô lớn, xử lý nhiều petabytes liệu nhóm 8.000 node Nó nhanh chóng trở thành cộng đồng nguồn mở lớn liệu lớn, với 1000 người đóng góp từ 250 tổ chức Apache Spark hệ thống mã nguồn mở cho phép thực tính tốn cụm nhằm tạo khả phân tích liệu nhanh với tiêu chí: nhanh lúc chạy nhanh lúc ghi liệu Cụ thể hơn, Apache Spark hệ thống tính tốn song song phân tán bao gồm nhiều máy tính kết nối thành khối dùng tài ngun tính tốn (cluster), cung cấp API cho nhiều ngôn ngữ bậc cao Java, Scala, Python hay R Điểm đặc biệt cung cấp nhiều công cụ bậc cao cho tác vụ khác như: Spark SQL sử dụng cho việc xử lý liệu có cấu trúc, GraphX dùng cho việc xử lý đồ thị, MLlib sử dụng cho toán học máy 1.2 Đặc điểm + Tốc độ xử lý Spark có việc tính toán thực lúc nhiều máy khác Đồng thời việc tính tốn thực nhớ hay thực hoàn toàn RAM + Spark cho phép xử lý liệu theo thời gian thực, vừa nhận liệu từ nguồn khác đồng thời thực việc xử lý liệu vừa nhận (Spark Streaming) + Spark hệ thống file riêng mình, sử dụng hệ thống file khác như: HDFS, Cassandra, S3,… Spark hỗ trợ nhiều kiểu định dạng file khác (text, csv, json…) đồng thời hồn tồn khơng phụ thuộc vào hệ thống file + Spark cho phép xây dựng phân tích nhanh mơ hình dự đốn Hơn nữa, cung cấp khả truy xuất toàn liệu lúc, nhờ ta khơng cần phải lấy mẫu liệu – đòi hỏi ngơn ngữ lập trình R Thêm vào đó, Spark cung cấp tính streaming, dùng để xây dựng mơ hình thời gian thực Chương 1: Giới thiệu chung Apache Spark cách nạp toàn liệu vào nhớ + Khi có tác vụ lớn mà xử lý laptop hay server, Spark cho phép ta phân chia tác vụ thành phần dễ quản lý Sau đó, Spark chạy tác vụ nhớ, cluster nhiều server khác để khai thác tốc độ truy xuất nhanh từ RAM Spark sử dụng API Resilient Distributed Dataset (RDD) để xử lý liệu Spark nhanh chóng trở thành lựa chọn cho phương pháp tính tốn big data Các chương trình Spark ngắn gọn thường chạy nhanh 10-100 lần so với Hadoop MapReduce Vì cơng ty nhận điều nên nhà phát triển Spark trở nên ngày có giá trị Chương 2: Nội dung tảng tính tốn phân tán Apache Spark CHƯƠNG 2: NỘI DUNG NỀN TẢNG TÍNH TỐN PHÂN TÁN APACHE SPARK 2.1 Kiến trúc tảng tính tốn phân tán Apache spark Kiến trúc Apache Spark bao gồm ba thành phần chính: • Lưu trữ liệu • API • Cơ cấu quản lý Hình 2.1 Kiến trúc Apache Spark 2.1.1 Lưu trữ liệu Spark sử dụng hệ thống tập tin HDFS để lưu trữ liệu Nó hoạt động với nguồn liệu tương thích Hadoop bao gồm HDFS, HBase, Cassandra,… 2.1.2 API API cho phép nhà phát triển ứng dụng tạo ứng dụng dựa Spark sử dụng giao diện API tiêu chuẩn Spark cung cấp API cho Scala, Java, Python Các liên kết trang web cho Spark API cho ngơn ngữ • API Scala • Java • Python 2.1.3 Cơ cấu quản lý tài nguyên Spark triển khai dạng máy chủ độc lập khn khổ tính tốn phân tán Mesos hay YARN Chương 2: Nội dung tảng tính tốn phân tán Apache Spark Hình 2.2 Chu trình Spark Driver Spark gồm node master nhiều node worker điều khiển master Spark Driver liên hệ với master node để điều phối worker node nơi có chứa excutor thực thi job Master node chứa chương trình điều khiển (Spark Standalone/ YARN/ MESSO), worker node, chương trình lập lịch chịu trách nhiệm lập lịch cho tác vụ yêu cầu worker node thực Mỗi worker bao gồm Excutor thực việc lưu trữ, đọc ghi xử lý liệu Mỗi excutor chịu trách nhiệm xử lý task nhỏ riêng biệt luồng độc lập Chương 2: Nội dung tảng tính tốn phân tán Apache Spark Hình 2.3 Chu trình Spark Driver 2.2 Các thành phần Apache Spark Hình 2.4 Thành phần Apache Spark Chương 2: Nội dung tảng tính toán phân tán Apache Spark 2.2.1 Apache Spark Core Spark Core thành phần cốt lõi thực thi cho tác vụ làm tảng cho chức khác Nó cung cấp khả tính tốn nhớ database nhớ hệ thống lưu trữ ngoài, để hỗ trợ nhiều ứng dụng Java, Scala Python API để dễ phát triển Đặc biệt, Spark Core cung cấp API để định nghĩa RDD (Resilient Distributed DataSet) tập hợp mục phân tán node cluster xử lý song song 2.2.2 Spark SQL Spark SQL thành phần nằm Spark Core cung cấp ảo hóa cho liệu SchemaRDD, hỗ trợ liệu có cấu trúc bán cấu trúc Nó cung cấp khả tích hợp mạnh mẽ với thành phần lại Spark (ví dụ, tích hợp xử lý truy vấn SQL với học máy) 2.2.3 Spark Streaming Spark Streaming cho phép thực phân tích xử lý trực tuyến xử lý theo lơ Chạy Spark, Spark Streaming cho phép ứng dụng tương tác phân tích mạnh mẽ liệu trực tuyến liệu lịch sử, đồng thời thừa hưởng tính dễ sử dụng Spark đặc tính chịu lỗi Nó dễ dàng tích hợp với nhiều nguồn liệu phổ biến, bao gồm HDFS, Flume, Kafka Twitter 2.2.4 Spark MLlib (Machine Learning Library) MLlib tảng học máy phân tán bên Spark kiến trúc phân tán dựa nhớ Được xây dựng Spark, MLlib thư viện học mở rộng được, cung cấp thuật toán chất lượng cao (ví dụ, lặp lại nhiều lần để tăng độ xác) tốc độ phát sáng (lên đến 100x nhanh MapReduce) Thư viện sử dụng Java, Scala Python phần ứng dụng Spark, để bạn đưa vào quy trình làm việc hồn chỉnh 2.2.5 Spark GrapX Grapx tảng xử lý đồ thị dựa Spark, cho phép người dùng tương tác xây dựng, biến đổi lý luận liệu có cấu trúc dạng đồ thị theo quy mơ Nó cung cấp API để diễn tả tính tốn đồ thị cách sử dụng Pregel Api Trong thư viện mà Spark cung cấp có 69% người dùng Spark SQL, 62% sử dụng DataFrames, Spark Streaming MLlib + GraphX 58% Ngoài thư viện trên, có thư viện khác tích hợp với Spark như: • Alluxio (trước gọi Tachyon) tệp tin phân tán tập trung vào nhớ cho phép chia sẻ tập tin tin cậy tốc độ nhớ cluster thư viện Spark MapReduce Nó lưu trữ tập tin thiết lập làm việc nhớ, tránh đến đĩa để tải thường xuyên đọc datasets Điều cho phép công việc / truy vấn Chương 2: Nội dung tảng tính tốn phân tán Apache Spark thư viện khác truy cập tệp tin lưu trữ tốc độ nhớ • BlinkDB công cụ truy vấn gần để sử dụng để chạy tương tác truy vấn SQL khối lượng lớn liệu Nó cho phép người sử dụng tính tốn truy vấn xác cho thời gian phản hồi Nó hoạt động tập liệu lớn cách chạy truy vấn mẫu liệu trình bày kết giải có lỗi có ý nghĩa quán bar Các phiên sau BlinkDB trì dự án gọi iOLAP 2.3 Cơ chế hoạt động Mọi ứng dụng spark bao gồm Driver program để chạy hàm main người dùng thực tính tốn song song cụm Có khái niệm trừu tượng quan trọng Spark RDD Shared Variables • RDD tập liệu phân tán mà liệu phân tán vào node cluster để thực tính tốn song song • Shared variables thực chia sẻ biến task task với driver program 2.3.1 RDDs RDDs (Resilient Distributed Datasets) cấu trúc liệu Spark Nó tập hợp bất biến phân tán đối tượng Mỗi dataset RDD chia thành nhiều phần vùng logical Có thể tính tốn node khác cụm máy chủ (cluster) RDDs chứa kiểu liệu Python, Java, đối tượng Scala, bao gồm kiểu liệu người dùng định nghĩa RDDs hỗ trợ hai kiểu thao tác: Transformations (Chuyển đổi) Action (Hành động) Thao tác chuyển đổi (tranformation) tạo dataset từ liệu có sẵn Qua phương thức transformations cho phép tạo RDD từ RDD tồn Thao tác actions trả giá trị cho chương trình điều khiển (driver program) sau thực tính tốn dataset Transformations thao tác “lazy”, có nghĩa thao tác không thực lập tức, mà ghi nhớ bước thực lại Thao tác thực trình thực có Actions gọi cơng việc tính tốn Transformations diễn Nhờ thiết kế mà Spark chạy hiệu Mặc định, RDD tính tốn lại có Actions gọi Tuy nhiên, RDDs lưu lại nhớ RAM lệnh persist (hoặc caching) để sử dụng sau Điều tiện lợi cho việc tính tốn nhớ tái sử dụng chúng cho actions khác tập liệu, làm cho việc tính tốn thực nhanh khả chịu lỗi tốt Cụ thể, lần tính tốn với actions, Chương 2: Nội dung tảng tính tốn phân tán Apache Spark lưu trữ nhớ node Nếu phần RDD bị mất, tự động tính tốn lại sử dụng transformation tạo ban đầu Mỗi RDD lưu trữ với mức khác Ví dụ, bạn persist liệu ổ cứng, nhớ trong, qua việc lặp qua node Các mức lưu trữ tùy thuộc truyền đối tượng org.apache.spark.storage.StorageLevel vào hàm persist() Phương thức cache() cách viết tắt cho phương thức persist với mức lưu trữ mặc định, cụ thể StorageLevel.MEMORY_ONLY Mức lưu trữ Ý nghĩa MEMORY_ONLY Lưu trữ RDD đối tượng deserialized Java JVM.Nếu RDD vượt nhớ số vùng khơngđược cached tính tốn lại cần Đây mức lưu trữ mặc định DISK_ONLY Lưu trữ vùng RDD ổ cứng MEMORY_ONLY_2, MEMORY_AND_DISK_2, etc Giống mức lặp vùng RDD trên2 cluster nodes Để thay đổi mức lưu trữ, sử dụng phương thức apply() đối tượng StorageLevel Hình 2.5: Cơ chế hoạt động Apache Spark - Cơ chế lập lịch: 10 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark Hình 2.6 Cơ chế lập lịch Apache • • • • Lập lịch theo mơ hình đồ thị DAG Chia task thành Stage Cache liệu cần sử dụng lại Phân chia partition hạn chế tối đa việc shuffle liệu qua mạng Một số Action là: giảm, thu thập, đếm, lần đầu tiên, lấy, countByKey, foreach + Spark thực đưa thao tác RDD chuyển đổi vào DAG (Directed Acyclic Graph) bắt đầu thực Khi action gọi RDD, Spark tạo DAG chuyển cho DAG scheduler DAG scheduler chia thao tác thành nhóm (stage) khác task + Mỗi Stage bao gồm task dựa phân vùng liệu đầu vào pipline với thực cách độc lập máy worker DAG scheduler xếp thao tác phù hợp với trình thực theo thời gian cho tối ưu Ví dụ: thao tác map đưa vào stage không xảy shuffle liệu stage Kết cuối DAG scheduler tập stage Các Stages chuyển cho Task Scheduler Task Scheduler chạy task thông qua cluster manager (Spark Standalone/Yarn/Mesos) Task scheduler phụ thuộc stages Nó chịu trách nhiệm thực xếp task cách tối ưu + Mỗi Worker bao gồm nhiều Excutor Các excutor chịu trách nhiệm thực task luồng riêng biệt Việc chia nhỏ task giúp đem lại hiệu cao hơn, giảm thiểu ảnh hưởng liệu không đối xứng (kích thước file khơng đồng đều) 11 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark 2.3.2 Shared Variables Spark cung cấp kiểu chia sẻ biến: broadcast variable accumulators - Broadcast variable biến mà phép đọc giá trị biến máy, không cho phép sửa đối giá trị nhằm mục đích đảm bảo giá trị biến broadcast tất node Có thể sử dụng giá trị biến qua phương thức value - Accumulators biến mà thực “added” qua phương thức kết hợp (như sum count) Khác với biến broadcast, biến accumulator cho phép thay đối giá trị, cho phép đọc ghi liệu lên biến Điều tiện lợi cho việc tính tốn song song cụm thực cho mục đích nguồn tài ngun Sau tính tốn song trả driver program 2.4 Ưu, nhược điểm 2.4.1 Ưu điểm 2.4.1.1 Dễ sử dụng Spark có API dễ sử dụng để vận hành tập liệu lớn Điều bao gồm tập hợp 100 toán tử để chuyển liệu API khung liệu quen thuộc để thao tác liệu bán cấu trúc 2.4.1.2 Tốc độ Được thiết kế từ lên cho hiệu suất, Spark nhanh 100 lần so với Hadoop để xử lý liệu quy mô lớn cách khai thác nhớ máy tính tối ưu hóa khác Bằng việc giảm số thao tác đọc ghi lên đĩa cứng, lưu trữ trực tiếp liệu xử lý lên nhớ.và giữ kỷ lục giới phân loại đĩa quy mô lớn 2.4.1.3 Cung cấp công cụ thống nhất, tồn diện - Spark đóng gói với thư viện cấp cao hơn, bao gồm hỗ trợ truy vấn SQL, truyền liệu, học máy xử lý đồ thị Các thư viện tiêu chuẩn tăng suất nhà phát triển kết hợp liền mạch để tạo quy trình cơng việc phức tạp Nó cung cấp khung thống toàn diện thống để quản lý yêu cầu xử lý liệu lớn cho liệu đa dạng chất (dữ liệu văn bản, liệu biểu đồ, v.v) từ nhiều nguồn khác (dữ liệu luồng theo thời gian thực so với thời gian thực) - Phân tích nâng cao: Spark khơng hỗ trợ ‘Map’ ‘Reduce’ Nó hỗ trợ truy vấn SQL, xử lý theo Stream, học máy, thuật toán đồ thị (Graph) 2.4.1.4 Hỗ trợ đa ngơn ngữ Spark cung cấp API có sẵn cho ngơn ngữ Java, Scala, Python Do đó, bạn viết ứng dụng nhiều ngôn ngữ khác Spark kèm 80 12 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark truy vấn tương tác mức cao 2.4.2 Nhược điểm 2.4.2.1 Khơng có hệ thống quản lý tập tin Spark khơng có hệ thống quản lý tập tin riêng Nó thường phụ thuộc vào số tảng khác hadoop hay tảng đám mây khác 2.4.2.2 Chi phí cao Spark đòi hỏi sử dụng nhiều nhớ RAM để xử lý liệu nhớ để chạy Spark tốn 2.4.2.3 Tối ưu hóa thủ cơng Việc tối ưu hóa Spark đòi hỏi phải thực thủ công phù hợp với liệu cụ thể Nếu muốn phân vùng lưu trữ Spark cách xác, nên thực thủ cơng 2.4.2.4 Có vấn đề với tập tin nhỏ Nếu sử dụng Spark với hadoop gặp vấn đề tập tin nhỏ HDFS cung cấp số lượng hạn chế tệp lớn số lượng lớn tệp tin nhỏ 2.4.2.5 Độ trễ Apache Spark có độ trễ cao so với Apache Fling 13 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark CHƯƠNG 3: CÀI ĐẶT 3.1 Cài đặt Hệ điều hành Windows 10 3.1.1 Download - Download Spark : https://spark.apache.org/downloads.html Hình 3.1 Trang chủ downloads Apache Spark - Download winultils.exe tại: https://github.com/steveloughran/winutils/tree/master/hadoop-2.6.0/bin 3.1.2 Cài đặt Cài đặt biến môi trường cho JAVA, SPARK, HADOOP theo cấu sau: 14 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark Hình 3.2: Cài đặt Spark Hình 3.3: Cài đặt biến mơi trường Java - Run spark-shell command line: - Mở CMD với quyền admin - Mở đến thư mục …\bin - Type lệnh spark-shell Hình 3.4: Viết lệnh spark- shell vào mục bin cmd 15 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark 3.2 Cài đặt hệ điều hành Ubuntu 16.04 3.2.1 Cài đặt Java Để cài đặt Apache Spark ubuntu cần phải cài Java • Đầu tiên kiểm tra xem Java cài đặt hay chưa, mở Terminal gõ lệnh sau: $ java –version • Nếu java chưa cài đặt (như hình phía dưới), ta tiến hành cài đặt java Hình 3.5: Kiểm tra kết java chưa cài đặt • Để cài đặt java ta gõ lệnh sau: $ sudo apt-add-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java7-installer Hình 3.6 Thêm vào hệ thống webupd8team/java Hình 3.7 update 16 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark Hình 3.8 Câu lệnh cài đặt java • Kiểm tra lại xem java cài đặt thành công hay chưa Hình 3.9 Cài đặt thành cơng java version “1.8.0_161” 3.2.2 Cài đặt Scala Tiếp theo cài đặt Scala, tìm hiểu thêm Scala trang chủ Tải Scala 2.12.5 đây: http://www.scala-lang.org/download/ Sử dụng câu lệnh wget để tải file thông qua đường dẫn trang web Hình 3.10 Download Scala Cài đặt Scala vơí tập tin scala-2.12.5.deb máy câu lệnh dpkg –i Hình 3.11 Cài đặt tập tin scala-2.12.5.deb Kiểm tra xem Scala cài đặt hay chưa, thành công kết giống 17 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark hình ảnh đây: Hình 3.12 Cài đặt thành công Scala 3.2.3 Cài đặt Spark Cuối cài đặt đặt Apache Spark, tìm hiểu thơng tin trang chủ: http://spark.apache.org/ Ta tải Spark trang: http://spark.apache.org/downloads.html Sử dụng câu lệnh wget để tải spark Hình 3.13 Tải Spark phiên 2.3.0 Tạo thư mục spark opt câu lệnh: sudo mkdir /opt/spark Sau đó, tiến hành giải nén tập tin vừa tải sửa dụng câu lệnh: sudo tar -xvf spark-2.3.0-bin-hadoop2.7.tgz Hình 3.14 Tạo thư mục Spark giải nén tập tin spark Sao chép tất file spark-2.3.0-bin-hadoop2.7 vào thư mục tạọ spark 18 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark Hình 3.15 Sao chép thư mục file spark-2.3.0-bin-hadoop2.7vào thư mục spark Vào thư mực opt/spark/bin/spark shell lên chạy để tiến hành cài đặt Hình 3.16 Cài đặt thành cơng Spark 19 Chương 2: Nội dung tảng tính tốn phân tán Apache Spark Hình 3.17 Chạy thử thành cơng Spark 20 Kết luận KẾT LUẬN Bài báo cáo giới thiệu chung Apache Spark, kiến trúc, thành chế hoạt động Apache Spark Từ cài đặt Spark nên Windows 10 hệ điều hành máy tính ảo Ubuntu 16.04 cài đặt VMware Workstation Pro 12 Nhóm nêu ưu nhược điểm sử dụng Apache Spark Trong báo cáo này, nhóm xem xét cách khung cơng tác Spark Apache giúp với xử lý liệu lớn phân tích với API chuẩn Nhóm xem xét cách Spark so với thực MapReduce truyền thống Apache Hadoop Spark dựa hệ thống lưu trữ file HDFS Hadoop, bạn sử dụng Spark MapReduce bạn có đầu tư thiết lập sở hạ tầng đáng kể với Hadoop Ngồi ra, kết hợp việc xử lý Spark với Spark SQL, Spark MLlib (cho máy học tập), Spark Streaming,và có điều hợp để tích hợp với sản phẩm khác Alluxio (trước gọi Tachyon), BlinkDB, Cassandra (Spark Cassandra Connector) R (SparkR) Với số tích hợp điều hợp Spark, kết hợp với cơng nghệ khác Một ví dụ việc sử dụng Spark, Kafka Apache Cassandra nơi Kafka sử dụng cho liệu phát trực tuyến tới in, Spark cho phép tính tốn sở liệu Cassandra NoSQL để lưu trữ liệu tính tốn kết Đối với nhà cung cấp giải pháp CNTT, Apache Spark quan trọng việc sử dụng công nghệ cốt lõi để xây dựng data warehouses đại Đây phân khúc lớn ngành IT có khả thu hàng tỉ đô doanh thu năm Spark đưa khái niệm mang nhiều hứa hẹn tương lai data lakes Đây nơi lưu trữ lượng liệu khổng lồ với nhiều định dạng khác truy vấn để xử lý cần thiết Data lakes đưa framework thương mại tạo mơi trường lưu trữ vơ hạn loại liệu 21 Tài liệu tham khảo TÀI LIỆU THAM KHẢO [1] https://chuyencuasys.com/2017/07/29/bigdata-apache-spark/ [2]https://www.infoq.com/minibooks/apache-spark? utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedConte nt_articles_clk [3] https://techblog.vn/tong-quan-ve-apache-spark-cho-he-thong-big-data [4] https://databricks.com/spark/about [5] Learning Spark by Matei Zaharia, Patrick Wendell, Andy Konwinski, Holden Karau 22 ... triển Spark trở nên ngày có giá trị Chương 2: Nội dung tảng tính tốn phân tán Apache Spark CHƯƠNG 2: NỘI DUNG NỀN TẢNG TÍNH TỐN PHÂN TÁN APACHE SPARK 2.1 Kiến trúc tảng tính tốn phân tán Apache spark. .. dung tảng tính tốn phân tán Apache Spark Hình 2.3 Chu trình Spark Driver 2.2 Các thành phần Apache Spark Hình 2.4 Thành phần Apache Spark Chương 2: Nội dung tảng tính tốn phân tán Apache Spark. .. với đề tài Tìm hiểu tảng tính tốn phân tán Apache Spark , báo cáo xây dựng với nội dung sau: Chương 1: Giới thiệu chung Apache Spark Chương 2: Nội dung tảng tính tốn phân tán Apache Spark Chương

Ngày đăng: 13/08/2018, 23:10

TỪ KHÓA LIÊN QUAN

w