Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panggil fungsi SQL. Mendukung Spark Connect.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.call_function(funcName=<funcName>, *cols)
Parameter-parameternya
| Pengaturan | Tipe | Description |
|---|---|---|
funcName |
str |
Nama fungsi yang mengikuti sintaks pengidentifikasi SQL (dapat dikutip, dapat memenuhi syarat). |
cols |
pyspark.sql.Column atau str |
Nama kolom atau Kolom yang akan digunakan dalam fungsi. |
Pengembalian Barang
pyspark.sql.Column: hasil fungsi yang dijalankan.
Examples
Contoh 1: Memanggil fungsi dengan kolom bilangan bulat
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|
+---------+
Contoh 2: Memanggil fungsi dengan kolom string
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|
+-----------+
Contoh 3: Memanggil fungsi bawaan
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|
+-------+
Contoh 4: Memanggil fungsi SQL kustom
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|
+------------------------------------+
Contoh 5: Memanggil fungsi SQL kustom dengan nama yang sepenuhnya memenuhi syarat
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|
+------------------------------------+