1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Spark SQL bằng Python

Connected

Bài tập

Luyện tập tạo UDF

Đôi khi dữ liệu của bạn cần một phép biến đổi không được hỗ trợ bởi các hàm tích hợp sẵn. Khi đó, một hàm do người dùng tự định nghĩa ("UDF") là phù hợp.

Hàm SQL udf đã sẵn sàng để dùng.

Một dataframe df2 có sẵn, kiểu DataFrame[doc: array<string>, in: array<string>, out: array<string>]. Cột doc của nó chứa các token đơn giản.

Đoạn sau hiển thị 20 dòng đầu của df2 nơi doc chứa '1':

df2.where(array_contains('doc','1')).show()

Bạn có hai mục tiêu cần hoàn thành:

  1. Đảm bảo dữ liệu sau khi biến đổi là các vector không rỗng.
  2. Có một cột trong dataframe chứa các mảng chuỗi, mỗi mảng chỉ có một phần tử. Bạn muốn biến đổi cột này thành một chuỗi.

Hướng dẫn

100 XP
  • Tạo một udf trả về true khi và chỉ khi giá trị là một vector không rỗng, sử dụng numNonzeros()
  • Tạo một udf trả về phần tử đầu tiên của mảng và trả về biểu diễn dạng chuỗi của nó.