Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Połącz dwie dane tablice element po elemencie w jedną tablicę przy użyciu funkcji. Jeśli jedna tablica jest krótsza, wartości null są dołączane na końcu, aby dopasować długość dłuższej tablicy przed zastosowaniem funkcji. Obsługuje program Spark Connect.
Aby uzyskać odpowiednią funkcję SQL usługi Databricks, zobacz zip_with funkcja.
Składnia
from pyspark.databricks.sql import functions as dbf
dbf.zip_with(left=<left>, right=<right>, f=<f>)
Parametry
| Parameter | Typ | Description |
|---|---|---|
left |
pyspark.sql.Column lub str |
Nazwa pierwszej kolumny lub wyrażenia. |
right |
pyspark.sql.Column lub str |
Nazwa drugiej kolumny lub wyrażenia. |
f |
function |
Funkcja binarna. |
Zwraca
pyspark.sql.Column: tablica wartości obliczeniowych pochodnych przez zastosowanie danej funkcji do każdej pary argumentów.
Przykłady
Przykład 1. Scalanie dwóch tablic z prostą funkcją
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, [1, 3, 5, 8], [0, 2, 4, 6])], ("id", "xs", "ys"))
df.select(dbf.zip_with("xs", "ys", lambda x, y: x ** y).alias("powers")).show(truncate=False)
+---------------------------+
|powers |
+---------------------------+
|[1.0, 9.0, 625.0, 262144.0]|
+---------------------------+
Przykład 2. Scalanie tablic o różnych długościach
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, ["foo", "bar"], [1, 2, 3])], ("id", "xs", "ys"))
df.select(dbf.zip_with("xs", "ys", lambda x, y: dbf.concat_ws("_", x, y)).alias("xs_ys")).show()
+-----------------+
| xs_ys|
+-----------------+
|[foo_1, bar_2, 3]|
+-----------------+