October 14, 2021

Thực hành Dataprep của GCP để làm sạch dữ liệu

Dataprep là một sản phẩm của GCP để làm sạch dữ liệu, nó có tác dụng làm cho những dữ liệu chưa sạch trong kho dữ liệu lớn (bigdata) được làm sạch để trước khi đưa vào phân tích hoặc làm đầu vào cho những data flow khác. Dữ liệu chưa sạch được hiểu là dữ liệu chứa những ký tự lạ, null, hoặc không có dữ liệu,…Ví dụ cụ thể một trường hợp dữ liệu không sạch: cột dữ liệu về giới tính chỉ Nam:1, Nữ:0 nhưng cột này lại chứa giá trị 3.

Trong bài thực hành này mình cùng các bạn làm sạch một dữ liệu có trong file csv, bằng cách xoá những dòng dữ liệu mà có cột start_date không có dữ liệu.

1. Truy cập vào Dataprep trên GCP console.

Tại màn hình GCP console, ở menu bên trái click vào Dataprep như hình dưới, trình duyệt sẽ mở ra một tab mới, các bạn check vào các ô và click Accept, Yes, Agree,Allow,…khi được hỏi hay confirm các mục.

Kết quả cuối cùng các bạn tới được một màn hình thao tác với Dataprep như bên dưới.

2. Chuẩn bị dữ liệu.

Tại màn hình GCP console, tại menu bên trái, các bạn click vào Stogare thì sẽ thấy Dataprep đã tạo sẵn cho chúng ta một bucket. Các bạn copy tên bucket này sẵn để lát dùng lệnh copy data vào.

Các bạn mở Cloud Shell ra và chạy lệnh gsutil cp -r gs://spls/gsp050 gs://[Ten-BUCKET] trong đó [Ten-BUCKET] là tên bucket chúng ta vừa copy ở trên. (Trong hình trên là: dataprep-staging-5276156e-8005-4ebc-a61c-a4ee5a021256 )

Mở Cloud Shell
Chạy lệnh để copy dữ liệu vào GCS từ Cloud Shell

3. Tạo flow trên Dataprep

Tại màn hình Dataprep (tab mới đã mở ở mục 1) các bạn click Create Flow và điền tên flow (mình đang điền khanhvn666 như hình dưới) rồi click button Create.

Click button Create Flow
Điền tên flow, rồi click button Create

Tiếp theo click Import & Add Datasets như hình dưới.

Ở menu bên trái các bạn Click GCS, tiếp theo trỏ đến GCS chứa data đã copy về ở bước 2, click button + ở file lab_customers.csv, rồi click Import & Add to Flow

Ở màn hình tiếp theo các bạn click button Add new Recipe ở bên phải, rồi click Edit Recipe. Ở màn hình tiếp theo bạn click vào phần đen của trường start_date.

Bên phải hiển thị menu gợi ý làm sạch dữ liệu bằng cách delete những dòng đó đi, chúng ta click vào button Add

Tiếp tục click vào button Run job ở phía trên bên phải, sẽ ra màn hình confirm. Trước khi click button Run các bạn cần chú ý phần Location, là nơi kết quả trả về sau khi chạy job. Trong màn hình dưới là đường dẫn Google Cloud Storage, và định dạng file là csv. Bạn nhớ copy paste đường dẫn này để lưu lại trước khi ấn button Run Job để sau khi chạy xong job thì vô GCS lấy kết quả về.

Thời gian chạy jop hơi lâu một chút, chúng ta cần chờ kết quả đưa ra ở GCS. Dựa vào file kết quả ở GCS, chúng ta có thể download về hoặc làm đầu vào cho các sản phẩm khác của GCP như BigQuery, BigTable,…

Màn hình đang chạy job

Ngoài ra, Dataprep còn nhiều chức năng làm sạch dự liệu khác nữa, sau này chúng ta cùng khám phá thêm nhé. Khi thực hành có chỗ nào chưa hiểu, cần support, các bạn hãy liên hệ với các chuyên gia Cloud Ace , hoặc comment ở form comment bên dưới, để nhận được hỗ trợ tốt hơn.