Giới thiệu làm sạch dữ liệu với Apache Spark

Làm sạch dữ liệu với PySpark

Mike Metzger

Data Engineering Consultant

Làm sạch dữ liệu là gì?

Làm sạch dữ liệu: Chuẩn bị dữ liệu thô cho các pipeline xử lý dữ liệu.

Các tác vụ có thể có trong làm sạch dữ liệu:

  • Định dạng lại hoặc thay thế văn bản
  • Thực hiện phép tính
  • Loại bỏ dữ liệu rác hoặc không đầy đủ
Làm sạch dữ liệu với PySpark

Vì sao làm sạch dữ liệu với Spark?

Vấn đề với các hệ thống dữ liệu điển hình:

  • Hiệu năng
  • Tổ chức luồng dữ liệu

Ưu điểm của Spark:

  • Khả năng mở rộng
  • Khung xử lý dữ liệu mạnh mẽ
Làm sạch dữ liệu với PySpark

Ví dụ làm sạch dữ liệu

Dữ liệu thô:

name age (years) city
Smith, John 37 Dallas
Wilson, A. 59 Chicago
null 215

Dữ liệu đã làm sạch:

last name first name age (months) state
Smith John 444 TX
Wilson A. 708 IL
Làm sạch dữ liệu với PySpark

Schema trong Spark

  • Xác định format của DataFrame
  • Có thể chứa nhiều kiểu dữ liệu:
    • Chuỗi, ngày, số nguyên, mảng
  • Có thể lọc dữ liệu rác khi nhập
  • Cải thiện hiệu năng đọc
Làm sạch dữ liệu với PySpark

Ví dụ về Schema trong Spark

Nhập schema

import pyspark.sql.types
peopleSchema = StructType([
  # Define the name field
  StructField('name', StringType(), True),
  # Add the age field
  StructField('age', IntegerType(), True),
  # Add the city field
  StructField('city', StringType(), True)  
])

Đọc tệp CSV chứa dữ liệu

people_df = spark.read.format('csv').load(name='rawdata.csv', schema=peopleSchema)
Làm sạch dữ liệu với PySpark

Ayo berlatih!

Làm sạch dữ liệu với PySpark

Preparing Video For Download...