Tổng quan về giáo trình

Tài liệu học thuật "Bài Tập Lý Thuyết Về Data" thuộc học phần Công nghệ 4.0 trong lãnh vực Cơ khí (mã môn học: ME4063), được giảng dạy tại Trường Đại học Bách Khoa – Đại học Quốc gia TP. Hồ Chí Minh dưới sự hướng dẫn của giảng viên Trần Quang Phước và biên soạn bởi nhóm sinh viên chuyên ngành Cơ khí (Kiều Trung Tín, Bùi Trung Kiên, Huỳnh Nhật Trường, Huỳnh Lê Hữu Tuấn, Ngô Trần Quang Châu, Lê Gia Khánh). Trong khung chương trình đào tạo kỹ sư, học phần này giữ vị trí cầu nối liên ngành, trang bị cho sinh viên kỹ thuật cơ khí các nguyên lý nền tảng về khoa học dữ liệu và công nghệ thông tin phân tán nhằm đáp ứng yêu cầu số hóa trong bối cảnh Cách mạng Công nghiệp 4.0.

Mục tiêu học tập của tài liệu tập trung vào việc chuẩn hóa quy trình làm việc với dữ liệu kỹ thuật và doanh nghiệp, bao gồm:

  • Nắm vững phương pháp thu thập dữ liệu (data collection), quy trình kiểm soát chất lượng dữ liệu và các bước thiết kế nghiên cứu thực nghiệm.
  • Hiểu rõ kiến trúc lưu trữ phân tán và các mô hình tính toán dữ liệu lớn (Hadoop HDFS, MapReduce, YARN, Apache Spark).
  • Phân tích và lựa chọn các công cụ truy vấn dữ liệu phi cấu trúc và bán cấu trúc (Apache Hive, Cloudera Impala, Apache Drill).
  • Làm chủ kỹ thuật trực quan hóa dữ liệu (data visualization) và quy trình xây dựng báo cáo phân tích thông qua các nền tảng thực hành như Microsoft Power BI và Apache Zeppelin.

Tài liệu được xây dựng theo phương pháp tiếp cận quy trình dữ liệu đầu cuối (end-to-end data pipeline): đi từ giai đoạn thu thập dữ liệu thô, tích hợp hệ thống, lưu trữ phân tán, xử lý tính toán tập trung/bộ nhớ, truy vấn hiệu năng cao cho đến tầng trình diễn báo cáo trực quan. Điểm đặc thù của tài liệu là sự kết hợp giữa lý thuyết kiến trúc hệ sinh thái mã nguồn mở Apache và các bài tập hướng dẫn thực hành từng bước (step-by-step tutorials) trên các công cụ phân tích hiện đại.


Nội dung kiến thức cốt lõi

Các chương và chủ đề chính

Tài liệu được tổ chức thành 5 nhóm chủ đề chuyên môn, thể hiện tính tuần tự của quy trình kỹ thuật dữ liệu:

  1. Thu thập dữ liệu và Đảm bảo chất lượng (Data Collection & Quality Assurance):

    • Định nghĩa quy trình thu thập dữ liệu có hệ thống cho cả nghiên cứu định tính và định lượng.
    • 5 phương pháp thu thập cơ bản: Phương pháp quan sát (observation), phỏng vấn (interview: trực tiếp, thư tín, điện thoại, email), thử nghiệm (thực nghiệm phòng lab có kính một chiều và thử nghiệm tại hiện trường), điều tra thăm dò (survey với bảng câu hỏi), thảo luận nhóm tập trung (focus group dưới sự điều phối của moderator).
    • Cơ chế Đảm bảo chất lượng (Quality Assurance - tập trung phòng ngừa sai sót qua sổ tay thủ tục, chuẩn hóa thiết bị) và Kiểm soát chất lượng (Quality Control - giám sát, kiểm tra hồ sơ, thăm hiện trường và xử lý lỗi).
    • Quy trình 4 bước thu thập chuẩn: Xác định mục tiêu/câu hỏi nghiên cứu -> Chọn phương pháp -> Lập kế hoạch và hoạt động hóa biến số trừu tượng (operationalization) -> Triển khai thu thập và kiểm tra độ tin cậy.
  2. Tích hợp dữ liệu và Hệ thống lưu trữ phân tán Hadoop HDFS:

    • Hai mô hình tích hợp dữ liệu: Ghép nối chặt chẽ (Tight Coupling - sử dụng kho dữ liệu Data Warehouse qua quy trình ETL) và Ghép nối lỏng lẻo (Loose Coupling - sử dụng lược đồ trung gian ảo Virtual Mediated Schema cùng các adapters/wrappers).
    • Kiến trúc tổng thể Apache Hadoop theo mô hình Master-Slave gồm 3 lớp: HDFS, MapReduce, YARN.
    • Hệ thống tệp phân tán HDFS: Cơ chế vận hành của NameNode (quản lý namespace, metadata, cổng 8021, tạo checkpoint phục hồi) và DataNode (lưu trữ khối dữ liệu 64MB mặc định, cổng 8022). Quy trình đọc file qua giao thức RPC và quy trình ghi file dạng chuỗi khối (pipeline packets). Khả năng mở rộng theo chiều dọc (Scale Up) và chiều ngang (Scale Out).
    • Cơ chế điều phối YARN: Chức năng của ResourceManager (gồm Scheduler và ApplicationManager), NodeManager, ApplicationMaster và tính năng liên kết cụm YARN Federation.
  3. Xử lý dữ liệu quy mô lớn với Apache Spark:

    • Các chức năng xử lý dữ liệu: Xác nhận thông tin, sắp xếp, tóm tắt, tập hợp nội dung, phân tích, báo cáo và phân loại. Các hình thức xử lý: thủ công, tự động, điện tử, thương mại.
    • Kiến trúc Apache Spark: Xuất phát từ AMPLab (UC Berkeley), vận hành trên mô hình Driver - Executor, lập lịch tác vụ bằng Đồ thị vòng có hướng (Directed Acyclic Graph - DAG).
    • 5 thành phần chính của Spark: Spark Core (tính toán in-memory), Spark SQL (xử lý dữ liệu cấu trúc, hỗ trợ Parquet, ORC, JSON, Hive), Spark Streaming (xử lý luồng theo chuỗi microbatch), MLlib (thư viện máy học phân tán nhanh hơn 9 lần Apache Mahout), GraphX (xử lý đồ thị trên cấu trúc RDD và GraphFrames).
    • Quy trình chuyển đổi và làm sạch dữ liệu 4 bước: Khám phá/xác thực -> Ánh xạ dữ liệu đa nguồn -> Thực thi tạo mã/chuyển đổi (phép cộng, trừ, chuẩn hóa cấu trúc) -> Xác thực và đánh giá lại dữ liệu xuôi dòng.
  4. Công cụ truy vấn SQL trên nền tảng Big Data:

    • Apache Hive: Hệ thống kho dữ liệu biên dịch HiveQL thành các tác vụ Java MapReduce, Tez hoặc Spark. Cấu trúc gồm Metastore (RDBMS), Driver, Trình biên dịch (chuyển AST sang DAG), Trình tối ưu hóa (Optimizer), Executor, Thrift Server và phân quyền bảo mật Kerberos. Khả năng mở rộng tới 100 petabyte và xử lý 100.000 truy vấn/giờ.
    • Cloudera Impala: Công cụ truy vấn SQL MPP (Massive Parallel Processing) viết bằng C++ và Java, chạy trực tiếp daemon trên các nút dữ liệu HDFS/HBase mà không thông qua MapReduce, tối ưu hóa trên định dạng cột Parquet. So sánh chi tiết với hệ quản trị cơ sở dữ liệu quan hệ (RDBMS): Impala không hỗ trợ giao dịch (transactions), không đánh chỉ mục (indexes), không cập nhật/xóa từng bản ghi riêng lẻ nhưng xử lý dữ liệu cấp petabyte.
    • Apache Drill: Công cụ truy vấn SQL tương tác độ trễ thấp dựa trên Google Dremel, hỗ trợ mô hình schema-free trên các nguồn NoSQL (HBase, MongoDB, Cassandra) và file đa cấu trúc theo chuẩn ANSI SQL.
  5. Trực quan hóa dữ liệu và Phần mềm ứng dụng:

    • Cơ sở lý thuyết trực quan hóa: Phân loại theo Harvard Business Review (tạo ý tưởng, minh họa ý tưởng, khám phá trực quan, trực quan hóa hàng ngày); công trình nghiên cứu của Edward Tufte; các dạng biểu diễn (bảng, biểu đồ, bản đồ không gian địa lý, infographic, dashboard). Các thư viện mã nguồn mở: D3.js, ECharts, VEGA, deck.gl (Uber).
    • Microsoft Power BI: Cấu trúc 7 thành phần (Power Query, Power Pivot với ngôn ngữ DAX, Power View, Power Map tích hợp Bing Maps, Power Q&A ngôn ngữ tự nhiên, Power BI Desktop, Power BI Service SaaS).
    • Apache Zeppelin: Nền tảng web-based notebook hỗ trợ tương tác đa ngôn ngữ (SQL, Python, Scala, R), Dynamic Forms và kiến trúc quản lý Interpreters (cấu hình JDBC cho MySQL, MongoDB jar connector).
   [Thu thập dữ liệu] (Observation, Survey, Experiment, Focus Group)
   [Tích hợp dữ liệu] (ETL / Data Warehouse vs Virtual Mediated Schema)
   [Lưu trữ phân tán] (Hadoop HDFS: NameNode, DataNode, Block 64MB)
   [Xử lý dữ liệu lớn]            [Truy vấn phân tán SQL]        [Xử lý luồng & Đồ thị]
   - MapReduce (WordCount)        - Apache Hive (HQL -> DAG)     - Spark Streaming
   - Spark Core (In-memory)       - Cloudera Impala (MPP)        - Spark GraphX & MLlib
   - YARN Resource Manager        - Apache Drill (Schema-free)
                                [Trực quan hóa dữ liệu]
                                - Microsoft Power BI (DAX, ETL)
                                - Apache Zeppelin Notebook (Interpreters)
                                - Thư viện Web (D3.js, ECharts, deck.gl)

Kiến thức nền tảng được xây dựng

  • Lý thuyết hệ thống phân tán: Nguyên lý phân chia dữ liệu thành các block, tính toán song song cục bộ (data locality), cơ chế chịu lỗi dựa trên sao bản (replication factor) và mô hình điều phối Master-Slave.
  • Mô hình tính toán song song: Cơ chế phân rã bài toán thành cặp Key/Value trong hàm Map, đồng bộ hóa qua hàm Shuffle và tổng hợp kết quả trong hàm Reduce; mô hình tính toán dựa trên bộ nhớ trong (In-memory computing) và biểu diễn DAG của Apache Spark.
  • Mô hình hóa và truy vấn dữ liệu: Kiến trúc chuyển đổi từ ngôn ngữ truy vấn hướng khai báo (SQL-like) sang các đồ thị tác vụ thực thi; sự khác biệt giữa xử lý phân tích dữ liệu lớn (OLAP) và xử lý giao dịch truyền thống (OLTP).

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical Skills): Cấu hình và kết nối nguồn dữ liệu (Excel, MySQL JDBC, MongoDB jar driver); thao tác trích xuất và biến đổi dữ liệu trên Power Query; viết công thức tính toán với hàm DAX; thao tác tạo Notebook và cấu hình Interpreter trên Apache Zeppelin.
  • Kỹ năng phân tích (Analytical Skills): Đánh giá và phân loại phương pháp tích hợp dữ liệu (Tight Coupling vs Loose Coupling); phân tích trade-off về độ trễ, chi phí và khả năng mở rộng giữa các công cụ truy vấn (Hive vs Impala vs Drill); nhận diện các rủi ro sai lệch trong quá trình thu thập thông tin.
  • Kỹ năng thực hành (Practical Competencies): Quy trình làm sạch dữ liệu (loại bỏ dữ liệu trùng lặp, xử lý quan sát không liên quan); thiết kế giao diện báo cáo tương tác đa chiều (dashboard) liên kết giữa các bảng phân khúc, doanh thu, lợi nhuận và bản đồ địa lý.

Phương pháp giảng dạy và học tập

Phương pháp tiếp cận sư phạm

Giáo trình triển khai phương pháp giảng dạy kết hợp giữa lý thuyết cấu trúc hệ thống và thực hành tình huống có hướng dẫn. Mỗi chủ đề công nghệ đều được phân tích theo cấu trúc chuẩn mực: Định nghĩa khái niệm -> Sơ đồ kiến trúc/Nguyên lý hoạt động -> Phân tích ưu/nhược điểm kỹ thuật -> So sánh với các công nghệ tương đương -> Bài tập ứng dụng thực tế.

Bài tập và Tình huống thực hành (Case Studies & Exercises)

Tài liệu cung cấp các tình huống thực hành kỹ thuật cụ thể:

  1. Minh họa thuật toán MapReduce với bài toán WordCount: Phân tích chi tiết quy trình xử lý dữ liệu đầu vào dạng văn bản, phân rã thành các cặp <word, 1> tại hàm Map, sắp xếp dữ liệu trung gian qua hàm Shuffle và tổng hợp kết quả <word, tổng số lần> tại hàm Reduce.
  2. Xây dựng Dashboard tài chính trên Power BI Desktop:
    • Kết nối nguồn dữ liệu từ tệp bảng tính Excel mẫu.
    • Thao tác trên Query Editor: Thêm cột tùy chỉnh tính toán giá sản xuất mới theo công thức: $$\text{Giá sản xuất mới} = [\text{manufacturing Price}] \times 3$$
    • Chuyển đổi định dạng dữ liệu (chuyển đổi trường "Đơn vị đã bán" từ dạng dấu phẩy động sang số nguyên).
    • Thiết lập bảng điều khiển trực quan (canvas): Kéo thả dữ liệu trường Country và Sales để tạo Map phân bố doanh số; sử dụng biểu đồ cột đôi (Clustered Column Chart) để so sánh Sales và Profit phân rã theo Segment, theo tháng và theo danh mục sản phẩm.
  3. Cấu hình môi trường phân tích đa nguồn trên Apache Zeppelin:
    • Hướng dẫn thiết lập thông dịch viên (Interpreter) MySQL: Khởi tạo trong nhóm JDBC, tải và khai báo đường dẫn tệp JAR trình kết nối vào thư mục interpreter/jdbc.
    • Cấu hình thông dịch viên MongoDB: Tải gói driver .zip, đổi tên, giải nén tệp .jar vào thư mục interpreter/mongodb, thiết lập các thuộc tính kết nối máy chủ ScaleGrid MongoDB.
    • Khởi tạo Notebook và Note mới, kiểm tra trạng thái kết nối máy chủ (chấm xanh trạng thái) để thực thi truy vấn.

Phương pháp đánh giá và Hướng dẫn tự học

  • Phương pháp đánh giá: Đánh giá thông qua mức độ hoàn thành các bài tập phân tích lý thuyết, độ chính xác trong việc lựa chọn công cụ phù hợp với bài toán dữ liệu, và kết quả thực thi các sản phẩm trực quan hóa dữ liệu mẫu.
  • Hướng dẫn tự học: Người học cần chủ động tái lập các bước thực hành trên phần mềm Power BI Desktop và Apache Zeppelin; đối chiếu các bảng so sánh tính năng giữa các hệ thống (Hive, Impala, RDBMS) để hiểu rõ ràng ranh giới ứng dụng của từng công nghệ trong các kịch bản công nghiệp thực tế.

Điểm nổi bật và cập nhật

  • Tính liên ngành trong ứng dụng Cơ khí 4.0: Tài liệu đưa các kiến trúc tính toán dữ liệu lớn vốn thuộc khối ngành Khoa học máy tính vào trực tiếp chương trình đào tạo kỹ thuật cơ khí, phục vụ nhu cầu xử lý dữ liệu cảm biến, dữ liệu giám sát vận hành máy móc và báo cáo sản xuất công nghiệp.
  • Hệ thống hóa toàn diện các công nghệ Big Data: Cung cấp bức tranh toàn cảnh về hệ sinh thái Apache mã nguồn mở, bao gồm cả các công cụ xử lý lô truyền thống (Hadoop MapReduce), công cụ tính toán in-memory (Spark), hệ thống kho dữ liệu quy mô petabyte (Hive), các công cụ phân tích tương tác tức thời (Impala, Drill).
  • Tích hợp các nghiên cứu học thuật về Trực quan hóa: Tài liệu trích dẫn khung phân loại mục đích trực quan hóa từ Harvard Business Review và tham chiếu công trình kinh điển "The Visual Display of Quantitative Information" của Edward Tufte, giúp người học nắm vững bản chất truyền đạt thông tin trước khi sử dụng công cụ.
  • Phân tích so sánh định lượng và kỹ thuật: Trình bày chi tiết các thông số kỹ thuật như kích thước block mặc định của HDFS (64MB), cổng dịch vụ mặc định (NameNode: 8021, DataNode: 8022), tốc độ xử lý in-memory của Spark (nhanh hơn tới 100 lần Hadoop, thư viện MLlib nhanh hơn 9 lần Mahout), năng lực truy vấn của Hive (100.000 truy vấn/giờ trên quy mô 100PB).

Đối tượng sử dụng giáo trình

  • Sinh viên đại học: Sinh viên năm thứ 3 và năm thứ 4 các ngành Kỹ thuật Cơ khí, Cơ điện tử, Kỹ thuật Hệ thống Công nghiệp tại Trường Đại học Bách Khoa – ĐHQG TP.HCM theo học học phần ME4063 hoặc các học phần liên quan đến Chuyển đổi số công nghiệp.
  • Điều kiện tiên quyết (Prerequisites): Người học cần có kiến thức nền tảng về Tin học đại cương, cấu trúc dữ liệu cơ bản, hiểu biết về hệ điều hành máy tính và cú pháp truy vấn cơ sở dữ liệu quan hệ (SQL cơ bản).
  • Giảng viên chuyên ngành: Sử dụng tài liệu như một khung hướng dẫn chi tiết cho các buổi thảo luận chuyên đề, bài tập nhóm và hướng dẫn thực hành phân tích dữ liệu trong phòng máy.
  • Kỹ sư và người tự học: Kỹ sư kỹ thuật đang làm việc tại các nhà máy sản xuất muốn tìm hiểu về kiến trúc quản lý dữ liệu lớn, quy trình ETL và các công cụ trực quan hóa dữ liệu phục vụ báo cáo quản trị.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với đối tượng nào?

Tài liệu được thiết kế chuyên biệt cho sinh viên khối kỹ thuật cơ khí, cơ điện tử và kỹ sư công nghiệp cần trang bị kiến thức nền tảng về dữ liệu lớn và trực quan hóa dữ liệu trong bối cảnh nhà máy thông minh và Công nghệ 4.0.

2. Cần chuẩn bị những kiến thức nền tảng nào trước khi học?

Người học cần nắm vững kiến thức tin học cơ bản, hiểu cấu trúc bảng dữ liệu, các phép toán thống kê mô tả căn bản và cú pháp dòng lệnh SQL tiêu chuẩn để có thể tiếp thu các khái niệm về HiveQL hay cấu hình thông dịch viên JDBC.

3. Điểm khác biệt cốt lõi giữa Apache Hive và Cloudera Impala là gì?

Apache Hive chuyển đổi các câu lệnh HiveQL thành các tác vụ MapReduce, Tez hoặc Spark để xử lý dữ liệu hàng loạt quy mô lớn (lên tới 100PB) nhưng có độ trễ cao. Ngược lại, Cloudera Impala sử dụng công cụ xử lý song song hàng loạt (MPP engine) viết bằng C++ chạy trực tiếp trên các tiến trình daemon, không sử dụng MapReduce, mang lại tốc độ phản hồi nhanh với độ trễ thấp phù hợp cho phân tích tương tác thời gian thực.

4. Tài liệu hướng dẫn thực hành những phần mềm cụ thể nào?

Tài liệu hướng dẫn trực tiếp các bước thao tác trên hai phần mềm chính:

  • Microsoft Power BI Desktop: Quy trình kết nối file Excel, làm sạch dữ liệu trong Query Editor, tạo cột tính toán và dựng Dashboard (Map, Clustered Column Chart).
  • Apache Zeppelin: Quy trình cấu hình trình thông dịch (Interpreter) cho cơ sở dữ liệu MySQL và MongoDB thông qua các tệp driver JAR, khởi tạo ghi chú phân tích.

5. YARN đóng vai trò gì trong kiến trúc Apache Hadoop?

YARN (Yet-Another-Resource-Negotiator) là tầng quản lý và điều phối tài nguyên phân tán trong Hadoop. YARN chịu trách nhiệm phân bổ tài nguyên tính toán (CPU, bộ nhớ, ổ đĩa, mạng) thông qua ResourceManager và NodeManager, quản lý vòng đời ứng dụng qua ApplicationMaster, đồng thời cho phép mở rộng quy mô lên hàng nghìn nút tính toán thông qua tính năng YARN Federation.


Kết luận

Tài liệu học thuật "Bài Tập Lý Thuyết Về Data" thuộc học phần ME4063 cung cấp hệ thống kiến thức toàn diện, logic về vòng đời quản trị dữ liệu: từ thu thập, làm sạch, lưu trữ phân tán, xử lý tính toán hiệu năng cao đến phân tích trực quan hóa. Lộ trình học tập đề xuất cho người học là đi tuần tự từ việc hiểu bản chất phương pháp thu thập dữ liệu -> nghiên cứu cơ chế lưu trữ HDFS và tính toán MapReduce/Spark -> làm chủ các công cụ truy vấn phân tán (Hive, Impala, Drill) -> thực hành chuyên sâu trên các nền tảng trực quan hóa báo cáo như Power BI và Zeppelin. Nguồn tài liệu tham chiếu bổ sung bao gồm tài liệu kiến trúc mã nguồn mở từ Apache Software Foundation, hướng dẫn kỹ thuật Microsoft Power BI và các nghiên cứu chuẩn mực về biểu diễn trực quan dữ liệu định lượng.