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

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

Xem khóa học

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 select trên df để áp dụng first_udf cho cột output.

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)
Chỉnh sửa và Chạy Mã