Bắt đầu ngayBắt đầu miễn phí

Sử dụng hàm do người dùng định nghĩa trong Spark

Bạn đã thấy phần nào sức mạnh của các hàm chuỗi dựng sẵn của Spark khi thao tác với DataFrame. Tuy nhiên, đến một mức nào đó, việc xử lý dữ liệu sẽ trở nên khó khăn nếu không tạo ra một "mớ bòng bong" các lời gọi hàm lồng nhau. Đây là lúc bạn có thể dùng User Defined Functions để thao tác với DataFrame.

Trong bài này, chúng ta sẽ dùng DataFrame voter_df, nhưng bạn sẽ thay thế cột first_name bằng chuỗi gồm tên và tên đệm.

Thư viện pyspark.sql.functions đã được nhập với bí danh F. Các lớp từ pyspark.sql.types cũng đã được nhập sẵn.

Bài tập này là một phần của khóa học

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

Xem khóa học

Hướng dẫn bài tập

  • Chỉnh hàm getFirstAndMiddle() để trả về chuỗi các tên được phân tách bằng dấu cách, ngoại trừ phần tử cuối cùng trong danh sách tên.
  • Định nghĩa hàm này thành một hàm do người dùng định nghĩa (UDF). Hàm nên trả về kiểu chuỗi.
  • Tạo một cột mới trên voter_df tên là first_and_middle_name bằng UDF của bạn.
  • Hiển thị DataFrame.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

def getFirstAndMiddle(names):
  # Return a space separated string of names
  return ' '.join(____)

# Define the method as a UDF
udfFirstAndMiddle = F.____(____, ____)

# Create a new column using your UDF
voter_df = voter_df.withColumn('first_and_middle_name', ____(____))

# Show the DataFrame
____
Chỉnh sửa và Chạy Mã