Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Column Zwraca obiekt dla podzapytania SCALAR zawierającego dokładnie jeden wiersz i jedną kolumnę.
Składnia
scalar()
Zwroty
Column
Column: obiekt reprezentujący podzapytanie SCALAR.
Notatki
Metoda scalar() jest przydatna do wyodrębniania Column obiektu reprezentującego wartość skalarną z ramki danych, zwłaszcza gdy ramka danych wynika z obliczenia agregacji lub pojedynczej wartości. Zwracane Column dane mogą być następnie używane bezpośrednio w select klauzulach lub jako predykaty w filtrach w zewnętrznej ramce danych, umożliwiając dynamiczne filtrowanie danych i obliczenia na podstawie wartości skalarnych.
Examples
data = [
(1, "Alice", 45000, 101), (2, "Bob", 54000, 101), (3, "Charlie", 29000, 102),
(4, "David", 61000, 102), (5, "Eve", 48000, 101),
]
employees = spark.createDataFrame(data, ["id", "name", "salary", "department_id"])
from pyspark.sql import functions as sf
employees.where(
sf.col("salary") > employees.select(sf.avg("salary")).scalar()
).select("name", "salary", "department_id").orderBy("name").show()
# +-----+------+-------------+
# | name|salary|department_id|
# +-----+------+-------------+
# | Bob| 54000| 101|
# |David| 61000| 102|
# | Eve| 48000| 101|
# +-----+------+-------------+
employees.alias("e1").where(
sf.col("salary")
> employees.alias("e2").where(
sf.col("e2.department_id") == sf.col("e1.department_id").outer()
).select(sf.avg("salary")).scalar()
).select("name", "salary", "department_id").orderBy("name").show()
# +-----+------+-------------+
# | name|salary|department_id|
# +-----+------+-------------+
# | Bob| 54000| 101|
# |David| 61000| 102|
# +-----+------+-------------+