TỔNG QUAN VỀ ETL
Định nghĩa
Theo [1], ETL là từ viết tắt của ba từ tiếng Anh Extract – Transform – Load, tiếng Việt là trích xuất, chuyển đổi và tải.
ETL, hay quy trình trích xuất, chuyển đổi và tải dữ liệu, là phương pháp kết hợp dữ liệu từ nhiều nguồn khác nhau vào một kho lưu trữ trung tâm gọi là kho dữ liệu Theo nghiên cứu, ETL áp dụng các quy tắc kinh doanh để làm sạch và sắp xếp dữ liệu thô, chuẩn bị cho việc lưu trữ, phân tích và ứng dụng máy học Qua đó, doanh nghiệp có thể đáp ứng các nhu cầu thông tin cụ thể thông qua phân tích dữ liệu, như dự đoán kết quả từ các quyết định kinh doanh, tạo báo cáo và bảng thông tin, cũng như nâng cao hiệu quả vận hành.
Lịch sử ra đời và phát triển
ETL, viết tắt của Extract, Transform, Load, đã xuất hiện từ những ngày đầu của máy tính khi các tổ chức bắt đầu lưu trữ dữ liệu điện tử Tuy nhiên, trong giai đoạn đầu, quá trình này chủ yếu được thực hiện thủ công, dẫn đến việc dữ liệu được trích xuất từ một hệ thống và chuyển đổi, tải vào hệ thống khác một cách chậm chạp Hệ quả là dễ xảy ra lỗi và tiêu tốn nhiều tài nguyên.
Vào năm 1970, thuật ngữ ETL đã được các tổ chức liên quan đến kho dữ liệu và cơ sở dữ liệu sử dụng rộng rãi Mục tiêu chính của các đơn vị này là lưu trữ thông tin kinh doanh đa dạng.
Nhu cầu tích hợp dữ liệu từ các cơ sở dữ liệu đã gia tăng nhanh chóng, khiến ETL trở thành phương pháp tiêu chuẩn để thu thập và chuyển đổi dữ liệu trước khi đưa vào nguồn đích Vào đầu những năm 1990, sự ra đời của kho dữ liệu đã thúc đẩy sự phát triển của các công cụ ETL, với mục tiêu tự động hóa quá trình trích xuất, chuyển đổi và tải dữ liệu để phục vụ phân tích Các công cụ này thường hoạt động độc lập và tại chỗ.
Vào năm 2000, sự xuất hiện của Big Data đã tạo ra nhu cầu lớn trong việc xử lý dữ liệu theo thời gian thực, dẫn đến sự phát triển mạnh mẽ của các công cụ ETL Những công cụ này thường được xây dựng dựa trên Hadoop, một khung nguồn mở cho phép lưu trữ và xử lý dữ liệu lớn một cách phân tán.
Năm 2007, công nghệ đám mây ra đời, mang lại cho doanh nghiệp giải pháp ETL hiệu quả hơn về chi phí và khả năng mở rộng Doanh nghiệp có thể lưu trữ và xử lý lượng dữ liệu lớn mà không cần đầu tư vào phần cứng hay phần mềm Các công cụ ETL trên nền tảng đám mây cung cấp sự linh hoạt, cho phép doanh nghiệp dễ dàng điều chỉnh tài nguyên theo nhu cầu thực tế.
1.1.2.2 Sự phát triển của ETL
Theo [2], ETL phát triển qua hai giai đoạn sau:
Dữ liệu thô trước đây thường được lưu trữ trong cơ sở dữ liệu giao dịch, nhưng không hỗ trợ tốt cho phân tích Để giải quyết vấn đề này, các công cụ ETL đã tự động chuyển đổi dữ liệu giao dịch thành dữ liệu quan hệ với các bảng liên kết Nhờ đó, các nhà phân tích có thể sử dụng truy vấn để xác định mối quan hệ giữa các bảng và phát hiện các mẫu cũng như xu hướng.
Với sự phát triển của công nghệ ETL, cả loại dữ liệu và nguồn dữ liệu đã gia tăng đáng kể Công nghệ đám mây đã xuất hiện, tạo ra các cơ sở dữ liệu lớn, hay còn gọi là bộ góp dữ liệu, có khả năng tiếp nhận dữ liệu từ nhiều nguồn khác nhau Những bộ góp dữ liệu này sở hữu tài nguyên phần cứng có thể mở rộng theo thời gian Đồng thời, các công cụ ETL cũng trở nên tinh vi hơn, cho phép hoạt động hiệu quả với các bộ góp dữ liệu hiện đại như kho dữ liệu và hồ dữ liệu.
Kho dữ liệu là một hệ thống lưu trữ trung tâm cho phép lưu trữ nhiều cơ sở dữ liệu, trong đó dữ liệu được tổ chức thành các bảng và cột để mô tả loại thông tin Phần mềm kho dữ liệu có khả năng hoạt động trên nhiều loại phần cứng lưu trữ, bao gồm ổ cứng thể rắn (SSD), ổ cứng truyền thống và các giải pháp lưu trữ đám mây khác, nhằm tối ưu hóa quy trình xử lý dữ liệu.
Hồ dữ liệu cho phép lưu trữ toàn bộ dữ liệu có cấu trúc và không có cấu trúc tại một kho tập trung, bất kể quy mô Với hồ dữ liệu, bạn có thể thực hiện nhiều loại phân tích khác nhau như truy vấn SQL, phân tích dữ liệu lớn, tìm kiếm toàn văn bản, phân tích thời gian thực và máy học (ML), từ đó giúp định hướng các quyết định tốt hơn.
Tầm quan trọng của ETL trong kinh doanh
ETL (Extract, Transform, Load) đóng vai trò quan trọng trong việc nâng cao hiệu quả thu thập và phân tích thông tin kinh doanh Quy trình này không chỉ giúp đảm bảo tính đáng tin cậy và chính xác của dữ liệu mà còn cung cấp cái nhìn chi tiết và hiệu quả hơn cho các quyết định kinh doanh.
ETL cung cấp cái nhìn sâu sắc về bối cảnh lịch sử dữ liệu của tổ chức, cho phép doanh nghiệp kết hợp dữ liệu cũ với thông tin từ các nền tảng và ứng dụng mới Việc so sánh các tập dữ liệu cũ với dữ liệu mới giúp doanh nghiệp có cái nhìn dài hạn và toàn diện về dữ liệu của mình.
Chế độ xem dữ liệu hợp nhất
ETL cung cấp một chế độ xem dữ liệu hợp nhất cho phân tích và báo cáo, giúp cải thiện hiệu quả quản lý nhiều tập dữ liệu Quá trình này tích hợp cơ sở dữ liệu và các dạng dữ liệu khác nhau thành một chế độ xem thống nhất, nâng cao chất lượng dữ liệu và tiết kiệm thời gian trong việc di chuyển, phân loại và chuẩn hóa dữ liệu Nhờ đó, việc phân tích, hình dung và hiểu các tập dữ liệu lớn trở nên dễ dàng hơn.
Phân tích dữ liệu chính xác
ETL giúp cải thiện độ chính xác trong phân tích dữ liệu, đáp ứng các tiêu chuẩn tuân thủ và quy định Bằng cách tích hợp ETL với các công cụ kiểm soát chất lượng dữ liệu, bạn có thể lập hồ sơ, kiểm tra và làm sạch dữ liệu, đảm bảo tính đáng tin cậy của thông tin.
Tự động hóa tác vụ
ETL tự động hóa các tác vụ xử lý dữ liệu lặp lại, giúp nâng cao hiệu quả phân tích Các công cụ ETL tự động hóa quá trình di chuyển dữ liệu, cho phép tích hợp thay đổi dữ liệu theo định kỳ hoặc trong thời gian thực Nhờ vậy, kỹ sư dữ liệu có thể tập trung vào sự sáng tạo hơn là quản lý các công việc tẻ nhạt như di chuyển và định dạng dữ liệu.
CÁCH THỨC HOẠT ĐỘNG CỦA ETL
Trích xuất dữ liệu có liên quan từ cơ sở dữ liệu nguồn - Extract
Trong quá trình trích xuất dữ liệu, các công cụ ETL (trích xuất, chuyển đổi và tải) sẽ sao chép dữ liệu thô từ nhiều nguồn và lưu trữ chúng tạm thời trong khu vực lưu đệm Khu vực lưu đệm, hay còn gọi là vùng đích, là nơi lưu trữ trung gian cho dữ liệu đã trích xuất, thường mang tính tạm thời và sẽ bị xóa sau khi hoàn tất quá trình Tuy nhiên, khu vực này cũng có thể được sử dụng để giữ lại một kho lưu trữ dữ liệu nhằm mục đích khắc phục sự cố.
Tần suất gửi dữ liệu từ nguồn đến kho dữ liệu đích phụ thuộc vào cơ chế thu thập thay đổi dữ liệu Dữ liệu thường được trích xuất theo một trong ba phương pháp chính.
Trong quá trình cập nhật, hệ thống nguồn sẽ thông báo cho bạn về những thay đổi trong bản ghi dữ liệu Bạn có thể tiến hành trích xuất dữ liệu từ những thay đổi này Hầu hết các cơ sở dữ liệu và ứng dụng web đều cung cấp cơ chế cập nhật để hỗ trợ tích hợp dữ liệu hiệu quả.
Một số nguồn dữ liệu không hỗ trợ thông báo cập nhật nhưng có khả năng xác định và trích xuất dữ liệu đã được sửa đổi trong một khoảng thời gian nhất định Trong những trường hợp này, hệ thống sẽ kiểm tra các thay đổi theo định kỳ, có thể là hàng tuần, hàng tháng hoặc khi kết thúc một chiến dịch Bạn chỉ cần trích xuất dữ liệu đã thay đổi để cập nhật thông tin.
Một số hệ thống không thể nhận diện các thay đổi dữ liệu hoặc gửi thông báo, dẫn đến việc tải lại toàn bộ dữ liệu trở thành lựa chọn duy nhất Phương pháp trích xuất này yêu cầu bạn lưu giữ bản sao của lần trích xuất cuối cùng để xác định các bản ghi mới Do khối lượng truyền dữ liệu lớn, chúng tôi khuyến nghị chỉ áp dụng phương pháp này cho các bảng nhỏ.
Chuyển đổi dữ liệu để phù hợp hơn cho việc phân tích - Transform
Trong quá trình chuyển đổi dữ liệu, các công cụ ETL (trích xuất, chuyển đổi và tải) sẽ xử lý và kết hợp dữ liệu thô trong khu vực lưu đệm nhằm chuẩn bị cho kho dữ liệu đích Giai đoạn chuyển đổi dữ liệu có thể bao gồm nhiều loại thay đổi khác nhau.
Chuyển đổi dữ liệu cơ bản
Các chuyển đổi cơ bản giúp nâng cao chất lượng dữ liệu bằng cách loại bỏ lỗi, làm trống các trường dữ liệu không cần thiết hoặc đơn giản hóa thông tin Dưới đây là một số ví dụ về những chuyển đổi này.
Làm sạch dữ liệu là quá trình loại bỏ lỗi và chuyển đổi dữ liệu từ định dạng nguồn sang định dạng đích Chẳng hạn, bạn có thể chuyển đổi các trường dữ liệu trống thành số 0, ánh xạ giá trị “Parent” thành “P” và “Child” thành “C.”
Chống trùng lặp dữ liệu
Chống trùng lặp trong quá trình làm sạch dữ liệu là việc xác định và loại bỏ các bản ghi trùng lặp.
Sửa đổi định dạng dữ liệu
Sửa đổi định dạng là quá trình chuyển đổi dữ liệu, bao gồm bộ ký tự, đơn vị đo lường và giá trị ngày/giờ, thành một định dạng nhất quán Chẳng hạn, một công ty thực phẩm có thể sở hữu nhiều cơ sở dữ liệu công thức với các thành phần được đo bằng kilogam và cân Anh Quá trình ETL sẽ giúp chuyển đổi tất cả các đơn vị này sang cân Anh để đảm bảo tính đồng nhất.
Chuyển đổi dữ liệu nâng cao
Chuyển đổi nâng cao là quá trình áp dụng các quy tắc kinh doanh để tối ưu hóa dữ liệu, giúp việc phân tích trở nên dễ dàng hơn Dưới đây là một số ví dụ về các loại chuyển đổi này.
Dẫn xuất là quá trình áp dụng quy tắc kinh doanh vào dữ liệu để tính toán giá trị mới từ các giá trị hiện có Chẳng hạn, bạn có thể tính lợi nhuận bằng cách trừ chi phí từ doanh thu hoặc xác định tổng chi phí mua hàng bằng cách nhân giá từng mặt hàng với số lượng đã đặt.
Trong quá trình chuẩn bị dữ liệu, gộp ghép là việc kết nối các dữ liệu tương đồng từ nhiều nguồn khác nhau Chẳng hạn, bạn có thể tính tổng chi phí mua một mặt hàng bằng cách cộng tổng giá trị mua hàng từ các nhà cung cấp khác nhau và chỉ giữ lại kết quả cuối cùng trong hệ thống đích.
Bạn có thể tách một cột hoặc thuộc tính dữ liệu thành nhiều cột trong hệ thống đích Chẳng hạn, nếu dữ liệu nguồn chứa tên khách hàng là “Jane John Doe”, bạn có thể phân chia nó thành các cột riêng biệt cho họ, tên đệm và tên.
Tổng hợp dữ liệu là quá trình nâng cao chất lượng thông tin bằng cách giảm bớt số lượng giá trị lớn thành một tập dữ liệu nhỏ hơn Chẳng hạn, giá trị hóa đơn từ đơn đặt hàng của khách hàng thường bao gồm nhiều khoản tiền nhỏ khác nhau Bằng cách cộng gộp các giá trị trong một khoảng thời gian nhất định, bạn có thể xây dựng chỉ số giá trị lâu dài của khách hàng (CLV).
Để bảo vệ dữ liệu nhạy cảm và đảm bảo tuân thủ các quy định về luật dữ liệu cũng như quyền riêng tư, bạn nên thực hiện mã hóa dữ liệu trước khi truyền tải đến cơ sở dữ liệu đích.
Tải dữ liệu vào cơ sở dữ liệu đích - Load
Trong quá trình tải dữ liệu, các công cụ ETL (trích xuất, chuyển đổi và tải) di chuyển dữ liệu từ khu vực lưu đệm vào kho dữ liệu đích Đối với hầu hết các tổ chức sử dụng ETL, quy trình này thường được tự động hóa, xác định rõ ràng, diễn ra liên tục và theo hàng loạt Dưới đây là hai phương pháp chính để thực hiện việc tải dữ liệu.
Tải hoàn toàn là quá trình chuyển đổi và chuyển toàn bộ dữ liệu từ nguồn đến kho dữ liệu Thao tác này thường được thực hiện lần đầu khi bạn tải dữ liệu từ hệ thống nguồn vào kho dữ liệu.
Tải tăng dần là quá trình mà công cụ ETL thực hiện việc tải delta giữa hệ thống đích và nguồn theo các khoảng thời gian định kỳ Công cụ này ghi lại ngày trích xuất cuối cùng để chỉ tải những bản ghi mới được thêm vào sau thời điểm đó.
Có hai cách để thực hiện tải tăng dần.
Tải tăng dần theo luồng
Nếu bạn sở hữu một lượng dữ liệu nhỏ, việc truyền tải các thay đổi liên tục đến kho dữ liệu đích qua đường ống dữ liệu là khả thi Tuy nhiên, khi tốc độ dữ liệu tăng lên hàng triệu sự kiện mỗi giây, bạn nên áp dụng xử lý luồng sự kiện để theo dõi và xử lý dữ liệu, từ đó đưa ra quyết định kịp thời hơn.
Tải gia tăng theo hàng loạt
Nếu bạn đang quản lý khối lượng dữ liệu lớn, việc thu thập các thay đổi dữ liệu theo từng đợt định kỳ là rất cần thiết Trong khoảng thời gian này, hệ thống nguồn và hệ thống đích sẽ không có bất kỳ hành động nào xảy ra để đảm bảo quá trình đồng bộ hóa dữ liệu diễn ra suôn sẻ.
CÁC KỸ THUẬT ETL TỪ CƠ BẢN ĐẾN NÂNG CAO
Kỹ thuật cơ bản
Trước khi tiến hành bất kỳ quy trình ETL nào, việc phân loại dữ liệu là rất quan trọng để hiểu rõ về dữ liệu Phân loại dữ liệu bao gồm kiểm tra chất lượng dữ liệu, khám phá cấu trúc dữ liệu và tìm hiểu mối quan hệ giữa các bảng, cột và giá trị.
Làm sạch dữ liệu là bước quan trọng trong quy trình chuyển đổi, giúp loại bỏ các giá trị lỗi, thiếu hoặc không hợp lệ, chẳng hạn như thay thế tuổi không hợp lệ bằng tuổi trung bình Định dạng dữ liệu cũng cần thiết để đảm bảo tính tương thích với hệ thống mục tiêu, ví dụ như chuyển đổi định dạng ngày tháng từ "Ngày-Tháng-Năm" sang "Năm-Tháng-Ngày" để phù hợp với cơ sở dữ liệu.
Kỹ thuật nâng cao
Tự động hóa quy trình ETL là rất quan trọng trong những trường hợp cần thực hiện định kỳ, như hàng ngày hoặc hàng tuần, giúp tiết kiệm thời gian và công sức.
Xử lý dữ liệu lớn là một yếu tố thiết yếu trong quy trình ETL, đặc biệt trong bối cảnh bùng nổ dữ liệu hiện nay Để đáp ứng nhu cầu này, việc áp dụng các công nghệ như Hadoop và Spark là cần thiết, cùng với các kỹ thuật phân tách dữ liệu và song song hóa để tối ưu hóa hiệu suất xử lý.
ETL theo thời gian thực là quá trình xử lý dữ liệu ngay khi nó được tạo ra, yêu cầu sử dụng các công nghệ như Apache Kafka, Amazon Kinesis và Google Cloud Pub/Sub để xử lý dữ liệu streaming hiệu quả.
Sử dụng AI và Machine Learning trong các công cụ ETL hiện đại giúp nâng cao chất lượng dữ liệu và tự động hóa quy trình AI có khả năng nhận diện và loại bỏ các giá trị bất thường, trong khi Machine Learning hỗ trợ dự đoán các giá trị thiếu dựa trên các dữ liệu khác, từ đó cải thiện hiệu quả xử lý dữ liệu.
ỨNG DỤNG CỦA QUY TRÌNH ETL TRONG THỰC TẾ
Quy trình ETL là yếu tố quan trọng trong việc xây dựng và duy trì kho dữ liệu, nơi dữ liệu từ nhiều nguồn được rút trích và chuyển đổi để phù hợp với mô hình dữ liệu Sau đó, dữ liệu được tải lên kho dữ liệu, tạo điều kiện cho việc phân tích và báo cáo hiệu quả.
Khoa học dữ liệu và Học máy yêu cầu quá trình làm sạch, chuẩn bị và chuyển đổi dữ liệu trước khi sử dụng ETL là công cụ quan trọng giúp tiền xử lý dữ liệu và chuyển đổi nó thành định dạng phù hợp cho các mô hình học máy.
Hệ thống quyết định (Decision Support Systems) sử dụng quy trình ETL để tải và tổ chức dữ liệu, giúp người ra quyết định dễ dàng hiểu và phân tích thông tin cần thiết.
Quảng cáo hướng dữ liệu là phương pháp mà doanh nghiệp sử dụng quy trình ETL để thu thập và chuyển đổi dữ liệu từ nhiều nguồn khác nhau, bao gồm dữ liệu khách hàng và dữ liệu từ các chiến dịch quảng cáo Quy trình này giúp doanh nghiệp phân tích hiệu suất và tối ưu hóa các chiến dịch quảng cáo một cách hiệu quả.
Ngành dịch vụ tài chính bao gồm các ngân hàng và tổ chức tài chính khác, sử dụng định dạng chuẩn để tải dữ liệu vào hệ thống phân tích Việc này giúp phân tích rủi ro, phát hiện gian lận và tối ưu hóa hoạt động hiệu quả hơn.
Trong ngành y tế, quy trình ETL được áp dụng để tổng hợp dữ liệu từ nhiều nguồn như hồ sơ bệnh án điện tử và hệ thống quản lý lịch bệnh án, tạo thành một kho dữ liệu duy nhất Dữ liệu này sau đó được phân tích nhằm nâng cao chất lượng dịch vụ y tế, theo dõi tình hình dịch bệnh và đánh giá hiệu quả của các phương pháp điều trị khác nhau.
Doanh nghiệp bán lẻ và E-commerce áp dụng quy trình ETL để tích hợp dữ liệu từ nhiều nguồn khác nhau như dữ liệu bán hàng, hành vi khách hàng và thông tin sản phẩm vào một kho dữ liệu Việc này giúp họ phân tích hành vi mua sắm, dự đoán xu hướng tương lai và cá nhân hóa trải nghiệm mua sắm cho khách hàng.
Quản lý chuỗi cung ứng hiệu quả nhờ quy trình ETL, cho phép các công ty thu thập dữ liệu từ nhiều nguồn như hệ thống quản lý kho, vận chuyển và đơn hàng Sau khi dữ liệu được rút trích, chuyển đổi và tải lên, nó sẽ hỗ trợ phân tích hiệu suất chuỗi cung ứng, dự đoán nhu cầu và tối ưu hóa hoạt động.
SO SÁNH SỰ KHÁC BIỆT GIỮA ETL VÀ ELT
Hình 1 3: Quy trình hoạt động của ETL và ELT [4]
Theo [4], so sánh ETL và ELT theo từng đặc trưng sau
Viết tắt của Trích xuất, chuyển đổi, tải Trích xuất, tải, chuyển đổi
Quy trình Lấy dữ liệu thô và chuyển đổi dữ liệu thô thành một định dạng đã xác định trước, sau đó tải vào kho dữ liệu mục tiêu.
Lấy dữ liệu thô, tải dữ liệu thô vào kho dữ liệu mục tiêu, sau đó chuyển đổi dữ liệu thô ngay trước khi phân tích.
Vị trí chuyển đổi và tải
Quá trình chuyển đổi diễn ra trong một máy chủ xử lý thứ cấp.
Quá trình chuyển đổi diễn ra trong kho dữ liệu mục tiêu.
Tính khả dụng của dữ liệu trong hệ thống
ETL chỉ chuyển đổi và tải dữ liệu mà người dùng cho là cần thiết.
ELT có thể tải tất cả dữ liệu ngay lập tức và người dùng có thể xác định dữ liệu nào cần chuyển đổi và phân tích sau đó.
Khả năng hỗ trợ kho dữ liệu
Hoạt động với các kho dữ liệu tại chỗ hoặc trên đám mây, yêu cầu định dạng dữ liệu quan hệ hoặc có cấu trúc.
Làm việc với các giải pháp lưu trữ dữ liệu trên đám mây cho phép hỗ trợ đa dạng các loại dữ liệu, bao gồm dữ liệu có cấu trúc, bán cấu trúc, phi cấu trúc và dữ liệu thô.
Quy mô dữ liệu Phù hợp nhất xử lý các tập dữ liệu nhỏ và yêu cầu các phép biến đổi phức tạp.
Tốt nhất khi xử lý một lượng lớn dữ liệu có cấu trúc và phi cấu trúc.
ELT nhanh hơn ETL do khả năng tận dụng tài nguyên nội bộ của kho dữ liệu, trong khi ETL thường có tốc độ chậm hơn Đặc biệt, việc triển khai ELT ở giai đoạn đầu diễn ra dễ dàng hơn, giúp giảm độ phức tạp ban đầu trong quá trình thực hiện.
Khó hơn vì cần phải có những kiến thức rất sâu về các tools và kỹ năng chuyên môn.
Chi phí Có thể cần nhiều thời gian và chi phí để thiết lập, tùy thuộc vào các công cụ ETL được sử dụng.
Tiết kiệm chi phí hơn, tuỳ thuộc vào cơ sở hạ tầng ELT được sử dụng.
Bảo mật Có thể cần phải xây dựng các ứng dụng tùy chỉnh để đáp ứng các yêu cầu bảo vệ dữ liệu.
Có thể sử dụng các tính năng tích hợp sẵn của cơ sở dữ liệu mục tiêu để quản lý việc bảo vệ dữ liệu.
Bảng 1 1: so sánh ETL và ELT
Trong quá trình tích hợp dữ liệu, người dùng có thể áp dụng cả hai phương pháp ETL và ELT, tùy thuộc vào yêu cầu và cấu trúc dữ liệu ban đầu Chẳng hạn, ETL có thể được sử dụng để chuyển đổi dữ liệu từ nhiều nguồn khác nhau và lưu trữ trong kho dữ liệu tạm thời, sau đó ELT sẽ thực hiện chuyển đổi dữ liệu từ kho tạm thời và lưu trữ vào hệ thống lưu trữ cuối cùng.
DEMO PROJECT
Đề tài: Trích xuất, chuyển đổi và tải dữ liệu để phân tích dữ liệu tình trạng giao hàng. Dataset : Sample - Superstore.csv
Các bước tiến hành: Đầu tiên tạo một Data Flow Task
Hình 2 1: Tạo Data Flow Task
Trong Data Flow Task, tiến hành các bước như sau:
Kết nối file Sample - Superstore.csv sau đó trích xuất sheet Orders
Hình 2 2: Chọn sheet Orders trong Sample - Superstore.csv
Hình 2 3: Show các columns trong sheet Orders
Bước 2: Chuyển đổi (Transform) (Derived): columns
Trích xuất cột mới có tên DaysToShipSchedule Điều kiện: Cấu trúc của lệnh điều kiện trong SSIS:
LogicalExpression?True_Value:False_Value
[Ship Mode] == "Same Day" ? 0 : [Ship Mode] == "First Class" ? 1 : [Ship Mode] ="Second Class" ? 3 : 6
Giải thích: Có 4 gói cước giao hàng: Same Day, First Class, Second Class và Standard Class.
Bảng 2 1: Số ngày giao hàng của từng gói cước
Cột DaysToShipSchedule sẽ thể hiện được số ngày giao hàng theo từng Ship Mode.
Hình 2 4: Trích xuất cột mới có tên DaysToShipSchedule
Trích xuất cột mới có tên DaysToShipActual Điều kiện: DATEDIFF("day",[Order Date],[Ship Date])
Giải thích:Để tính toán số ngày giao hàng thực tế khi lấy Ship Date trừ đi Order Date
Hình 2 5: Trích xuất cột mới có tên DaysToShipActual
Trích xuất cột mới có tên ShippingStatus. Điều kiện: DaysToShipActual > DaytoShipSchedule ? "Shipped Late" : DaysToShipActual == DaytoShipSchedule ? "Shipped On Time" : "Shipped Early"
Tình trạng giao hàng được phân loại dựa trên so sánh giữa ngày giao hàng thực tế và ngày giao hàng theo kế hoạch Nếu ngày giao hàng thực tế muộn hơn ngày dự kiến, hệ thống sẽ hiển thị "Giao hàng muộn" Nếu ngày giao hàng thực tế trùng với ngày dự kiến, sẽ hiển thị "Giao hàng đúng hạn" Ngược lại, nếu giao hàng sớm hơn kế hoạch, kết quả sẽ là "Giao hàng sớm".
Hình 2 6: Trích xuất cột mới có tên ShippingStatus
Tải dữ liệu (Load): Database/ShippingStatus/Tables
Hình 2 7: Tạo một server bên máy SQL server
Hình 2 8: Kết nối dữ liệu tới SQL Server
Hình 2 9: Chọn columns cần thiết để xuất ra trong bảng kết quả
Hình 2 10: Đặt tên cho bảng kết quả
Hình 2 11: Kiểm tra các cột liên kết với nhau
Hình 2 12: Thực thi nhiệm vụ
Hình 2 13: Các data flow đã sẵn sàng để chạy
Hình 2 14: Xuất kết quả ra 1000 hàng trong Databases/ShippingStatus ở SQL Server
Hình 2 15: Kết quả cuối cùng
TỔNG KẾT
Tóm tắt công việc thực hiện
Để thực hiện dự án, trước tiên cần cài đặt SQL Server và Microsoft Visual Studio Tiếp theo, tìm kiếm một tập dữ liệu phù hợp Khi đã đủ điều kiện cơ bản, nhóm sẽ tiến hành dự án qua ba bước chính: Extract, Transform và Load Cuối cùng, kết quả sẽ được xuất ra trong Databases của SQL Server.
Ưu, nhược điểm của project
- Linh hoạt: hỗ trợ tích hợp hợp dữ liệu từ nhiều nguồn khác nhau như databases, flat files, Excel, XML,
Kết nối giao diện người dùng với cấu hình SSIS rất dễ dàng, ngay cả khi bạn không nắm rõ cấu trúc Bạn có thể kiểm tra và tìm hiểu thêm thông qua các tài liệu hướng dẫn có sẵn.
- Tạo tài liệu: một số tính năng cho phép tạo dữ liệu mới khi chuyển đổi dữ liệu ban đầu.
- SSIS chỉ hỗ trợ cho hệ điều hành Window.
Việc SSIS chỉ hỗ trợ hệ điều hành Windows đã tạo ra thách thức lớn trong việc tích hợp với các công cụ trên các hệ điều hành khác, dẫn đến sự thiếu hụt các tùy chọn tích hợp đa dạng.
Hướng phát triển đề tài
Mở rộng phạm vi phân tích là cách hiệu quả để doanh nghiệp thu thập thêm dữ liệu, bao gồm thông tin về khách hàng, sản phẩm và nhà cung cấp Việc này không chỉ giúp cải thiện khả năng theo dõi tình trạng giao hàng mà còn mang lại cái nhìn toàn diện hơn về hoạt động kinh doanh.
Hình 1 2: Tổng quan cách thức hoạt động của ETL [2] 4
Hình 1 3: Quy trình hoạt động của ETL và ELT [4] 10
Hình 2 1: Tạo Data Flow Task 13
Hình 2 2: Chọn sheet Orders trong Sample - Superstore.csv 14
Hình 2 3: Show các columns trong sheet Orders 14
Hình 2 4: Trích xuất cột mới có tên DaysToShipSchedule 15
Hình 2 5: Trích xuất cột mới có tên DaysToShipActual 16
Hình 2 6: Trích xuất cột mới có tên ShippingStatus 17
Hình 2 7: Tạo một server bên máy SQL server 17
Hình 2 8: Kết nối dữ liệu tới SQL Server 18
Hình 2 9: Chọn columns cần thiết để xuất ra trong bảng kết quả 18
Hình 2 10: Đặt tên cho bảng kết quả 19
Hình 2 11: Kiểm tra các cột liên kết với nhau 19
Hình 2 12: Thực thi nhiệm vụ 20
Hình 2 13: Các data flow đã sẵn sàng để chạy 20
Hình 2 14: Xuất kết quả ra 1000 hàng trong Databases/ShippingStatus ở SQL Server 21
Hình 2 15: Kết quả cuối cùng 21
PHỤ LỤC BẢNG BIỂUBảng 1 1: so sánh ETL và ELT 12Bảng 2 1: Số ngày giao hàng của từng gói cước 15