Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Rufen Sie eine SQL-Funktion auf. Unterstützt Spark Connect.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.call_function(funcName=<funcName>, *cols)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
funcName |
str |
Funktionsname, der der SQL-Bezeichnersyntax folgt (kann zitiert werden, kann qualifiziert werden). |
cols |
pyspark.sql.Column oder str |
Spaltennamen oder Spalten, die in der Funktion verwendet werden sollen. |
Rückkehr
pyspark.sql.Column: Ergebnis der ausgeführten Funktion.
Examples
Beispiel 1: Aufrufen einer Funktion mit einer ganzzahligen Spalte
from pyspark.databricks.sql import functions as dbf
from pyspark.sql.types import IntegerType, StringType
df = spark.createDataFrame([(1, "a"),(2, "b"), (3, "c")],["id", "name"])
_ = spark.udf.register("intX2", lambda i: i * 2, IntegerType())
df.select(dbf.call_function("intX2", "id")).show()
+---------+
|intX2(id)|
+---------+
| 2|
| 4|
| 6|
+---------+
Beispiel 2: Aufrufen einer Funktion mit einer Zeichenfolgenspalte
from pyspark.databricks.sql import functions as dbf
from pyspark.sql.types import StringType
df = spark.createDataFrame([(1, "a"),(2, "b"), (3, "c")],["id", "name"])
_ = spark.udf.register("strX2", lambda s: s * 2, StringType())
df.select(dbf.call_function("strX2", dbf.col("name"))).show()
+-----------+
|strX2(name)|
+-----------+
| aa|
| bb|
| cc|
+-----------+
Beispiel 3: Aufrufen einer integrierten Funktion
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, "a"),(2, "b"), (3, "c")],["id", "name"])
df.select(dbf.call_function("avg", dbf.col("id"))).show()
+-------+
|avg(id)|
+-------+
| 2.0|
+-------+
Beispiel 4: Aufrufen einer benutzerdefinierten SQL-Funktion
from pyspark.databricks.sql import functions as dbf
_ = spark.sql("CREATE FUNCTION custom_avg AS 'test.org.apache.spark.sql.MyDoubleAvg'")
df = spark.createDataFrame([(1, "a"),(2, "b"), (3, "c")],["id", "name"])
df.select(dbf.call_function("custom_avg", dbf.col("id"))).show()
+------------------------------------+
|spark_catalog.default.custom_avg(id)|
+------------------------------------+
| 102.0|
+------------------------------------+
Beispiel 5: Aufrufen einer benutzerdefinierten SQL-Funktion mit vollqualifiziertem Namen
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, "a"),(2, "b"), (3, "c")],["id", "name"])
df.select(dbf.call_function("spark_catalog.default.custom_avg", dbf.col("id"))).show()
+------------------------------------+
|spark_catalog.default.custom_avg(id)|
+------------------------------------+
| 102.0|
+------------------------------------+