1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do Spark SQL w Pythonie

Connected

ćwiczenie

Tworzenie UDF w praktyce

Zdarza się, że dane wymagają przekształcenia, którego nie obsługują wbudowane funkcje. W takich sytuacjach przydaje się własna funkcja zdefiniowana przez użytkownika (UDF, ang. user defined function).

Funkcja SQL udf jest dostępna.

Dostępna jest ramka danych df2 typu DataFrame[doc: array<string>, in: array<string>, out: array<string>]. Jej kolumna doc zawiera podstawowe tokeny.

Poniższy kod wyświetla pierwsze 20 wierszy df2, w których doc zawiera wartość '1':

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

Masz do wykonania dwa zadania:

  1. Zadbaj o to, aby przekształcone dane składały się z niepustych wektorów.
  2. Ramka danych ma kolumnę zawierającą tablice ciągów znaków, przy czym każda tablica zawiera dokładnie jeden element. Chcesz przekształcić tę kolumnę na ciąg znaków.

Instrukcje

100 XP
  • Utwórz UDF, który zwraca wartość true wtedy i tylko wtedy, gdy wartość jest niepustym wektorem – użyj funkcji numNonzeros().
  • Utwórz UDF, który zwraca pierwszy element tablicy jako ciąg znaków.