Tạo UDF cho dữ liệu vector
Có sẵn một dataframe df với cột output kiểu vector. Năm hàng đầu tiên đã được hiển thị trên bảng điều khiển.
Bài tập này là một phần của khóa học
Nhập môn Spark SQL bằng Python
Hướng dẫn bài tập
- Tạo một UDF tên là
first_udf. Hàm này chọn phần tử đầu tiên của một cột vector. Đặt giá trị mặc định là 0.0 cho mọi mục không phải là vector chứa ít nhất một phần tử và ép kiểu đầu ra thành float. - Dùng phép toán
selecttrêndfđể áp dụngfirst_udfcho cộtoutput.
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.
# Selects the first element of a vector column
first_udf = ____(lambda x:
____(x.indices[0])
if (x and hasattr(x, "toArray") and x.____())
else 0.0,
FloatType())
# Apply first_udf to the output column
df.select(____("output").alias("result")).show(5)