Skip to main content

Dữ liệu lớn

Enrollment in this course is by invitation only

Về môn học này!

Big Data hay còn được biết với cái tên "Dữ liệu lớn" là một trong những từ khoá được nhắc đến gần đây trong thế giới công nghệ thông tin, đặc biệt là khi chúng ta bước ta kỷ nguyên công nghiệp 4.0. Như chúng ta đã biết, sự ra đời của mạng máy tính toàn cầu (internet) và sự phát triển của các phương tiện kỹ thuật số đã và đang tạo ra một lượng dữ liệu khổng lồ. Dù vô tình hay hữu ý thì dữ liệu này chứa trong nó rất nhiều giá trị. Nó có thể cho ta  biết bộ phim nào đang được ưa chuộng, xu hướng sắp tới của giới trẻ về thời trang là gì, thời điểm nào nên cho ra mắt sản phẩm mới của công ty ... Nhưng để khai thác được những giá trị đó chúng ta phải đối mặt với nhiều thách thức. Trước hết, đó là độ lớn của dữ liệu và tốc độ sản sinh dữ liệu, ví dụ như chỉ tính riêng Facebook một ngày sản sinh ra hơn 500 terabytes dữ liệu. Việc xử lý khối lượng dữ liệu lớn và liên tục như vậy yêu cầu phải có một hệ thống tính toán mạnh mẽ và tối ưu. Thứ hai, dữ liệu rất đa dạng và  không phải lúc nào cũng tuyệt đối chính xác. Ví dụ như bạn có dữ liệu cá nhân, dữ liệu hình ảnh và âm thanh, dữ liệu văn bản. Trong những dữ liệu đó bạn có dữ liệu mang thông tin chính xác và cả thông tin không chính xác. Chính vì vậy chúng ta cần thêm các thuật toán thông minh để có thể thực sự tạo ra giá trị từ một khối dữ liệu lớn.

Trong môn học này các bạn sẽ được tìm hiểu đầy đủ về cả hệ thống tính toán và thuật toán xử lý dữ liệu để có đầy đủ kiến thức cho những công việc liên quan đến dữ liệu lớn. Về hệ thống tính toán, chúng ta sẽ tìm hiểu về Hadoop và Spark. Hai nền tảng phổ biến nhất hiện nay trong xử lý dữ liệu lớn. Các bạn sẽ nắm được tổng quan về nền tảng xử lý dữ liệu lớn thông qua hệ thống các máy tính kết nối với nhau. Về các thuật toán thông minh, các bạn sẽ tìm hiểu về các thuật toán học máy cơ bản trong Spark. Những thuật toán này có thể giúp các bạn xây dựng được những ứng dụng đang phổ biến hiện nay. Bên cạnh đó các bạn sẽ được thực hành phát triển một số ứng dụng dựa trên kiến thức đã học.

Tên khóa học:

Dữ liệu lớn (Big Data)

Thời lượng học ước tính:

45 giờ

Mục tiêu môn học:

- Hiểu biết về lịch sử và các khái niệm cơ bản của Big Data.

- Hiểu được nền tảng Hadoop trong dữ liệu lớn.

- Hiểu và làm việc được với nền tảng Spark cho xử lý dữ liệu lớn.

- Biết cách sử dụng thư viện MLlib của Spark để viết các ứng dụng học máy cho dữ liệu lớn.

Cấu trúc khóa học:

Phần 1: Dữ liệu lớn: Big Data
- Giới thiệu chung về Big Data. Những khái niệm cơ bản, nhu cầu và ứng dụng của Big data (Bài 1 - Giới thiệu về Big Data).
- Giới thiệu về nền tảng Hadoop để lưu trữ và xử lý dữ liệu lớn. Các khái niệm, cấu trúc hoạt động (Bài 2 - Hadoop cho Big Data).
- Giới thiệu về hai thành phần chính của Hadoop: HDFS và Map-Reduce, và tìm hiểu về hệ sinh thái của Hadoop (Bài 3 - Các thành phần của Hadoop và hệ sinh thái).
Phần 2: Giới thiệu về Spark
- Giới thiệu về cầu trúc và các thành phần của Spark, một nền tảng tính toán (được cho là nhanh hơn Hadoop trong nhiều trường hợp) cho Big Data (Bài 4 - Spark cho Big Data).
- Tìm hiểu về cấu trúc dữ liệ RDD của Spark. Đây là linh hồn của Spark giúp nó tối ưu hơn Hadoop trong việc tính toán trong nhiều trường hợp (Bài 5 - RDD: Resilient Distributed Datasets).
- Tìm hiểu về cách lập trình với Spark. Cách viết một ứng dụng Spark chạy độc lập (Bài 6 - Lập trình với Spark Edit)
- Tìm hiểu về các thư viện trong Spark, cách cấu hình Spark và giám sát & tinh chỉnh Spark cho các ứng dụng khác nhau (Bài 7 - Thự viện Spark, cấu hình, giám sát, và tinh chỉnh).
- Thực hành viết ứng dụng với Spark (Assignment 01)
Phần 3: Spark cho học máy (Machine Learning) với Big Data
- Giới thiệu chung về học máy. Nhu cầu xử dụng học máy trong các ứng dụng thông minh hiện tại và trong tương lai (Bài 8 - Học máy (Machine Learning) là gì).
- Giới thiệu về cấu trúc của dữ liệu trong thư viện Spark Mllib. Bên cạnh đó học viên cũng sẽ được tìm hiểu về các thuật toán học máy cơ bản (Bài 9 - Cấu trúc dữ liệu trong Spark MLlib và các thuật toán cơ bản).
- Giới thiệu về hai thuật toán học máy có giám sát: Decision Tree và Random Forest (Bài 10 - Decision Trees và Random Forests)
- Giới thiệu về hai thuật toán học máy không có giám sát để phân cụm dữ liệu: K-Means và Gausian Mixture (Bài 11 - Clustering)
- Dùng Spark MLlib để viết ứng dụng cụ thể (Assignment 2) 
Phần 4:  Bài tập lớn: Coursework 
- Tìm hiểu cách sử dụng Spark để lưu và đọc dữ liệu văn bản (Part 1 - Đọc dữ liệu văn bản lên RDDs). 
- Tìm hiểu cách sử dụng Spark để xử lý dữ liệu văn bản (Part 2: Xử lý dữ liệu văn bản).
- Tìm hiểu cách sử dụng Spark để tạo đặc trưng (features) cho văn bản (Part 3: Features cho văn bản).
- Tìm hiểu cách sử dụng Spark để phân loại văn bản (Part 4: Phân loại văn bản).

Nguồn tài liệu

Điều kiện tiên quyết

Không có

Người thiết kế khóa học

Trần Ngọc Sơn

PhD, Postdoc Research Fellow, CSIRO, Australia.

      4+ years of teaching in Big Data & Machine Learning
      8+ years of software development experience
      Msc in Computer Science, University of Reading, UK.
      PhD in Computer Science, City University of London, UK.
Website: https://sites.google.com/site/sontranfz/

NGUỒN HỌC LIỆU

Danh sách nguồn học liệu mở miễn phí (MOOC) mà FUNiX đang sử dụng trong môn học này: BigDataElearning, Devlish Tutorials, Luis Serrano, mathematicalmonk, Michael Galarnyk, Cognitive Class .

Tất cả các nguồn học liệu mở được sử dụng trong các chương trình đào tạo tại FUNiX đều được công khai, liên tục cập nhật và không thu phí. FUNiX sẵn sàng đón nhận và trao đổi về mọi ý kiến góp ý, phản hồi liên quan đến học liệu qua email program@funix.edu.vn.