Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Leképezi az aktuális DataFrame kötegeinek iterátorát egy Python natív függvény használatával, amely pyarrow.RecordBatch bemenetként és kimenetként is működik, és az eredményt DataFrame-ként adja vissza.
Szemantika
mapInArrow(func: "ArrowMapIterFunction", schema: Union[StructType, str], barrier: bool = False, profile: Optional[ResourceProfile] = None)
Paraméterek
| Paraméter | Típus | Leírás |
|---|---|---|
func |
függvény | egy Python natív függvény, amely a pyarrow.RecordBatchs iterátorát használja, és pyarrow.RecordBatchs iterátorát adja ki. |
schema |
DataType vagy str | a PySpark visszatérési func típusa. Az érték lehet pyspark.sql.types.DataType objektum vagy DDL formátumú típussztring. |
barrier |
bool, nem kötelező, alapértelmezett Hamis | Használjon akadály módú végrehajtást, biztosítva, hogy a fázisban lévő összes Python feldolgozó egyidejűleg induljon el. |
profile |
ResourceProfile, nem kötelező | A mapInArrow-hoz használandó opcionális ResourceProfile. |
Visszatérítések
DataFrame
Examples
import pyarrow as pa
df = spark.createDataFrame([(1, 21), (2, 30)], ("id", "age"))
def filter_func(iterator):
for batch in iterator:
pdf = batch.to_pandas()
yield pa.RecordBatch.from_pandas(pdf[pdf.id == 1])
df.mapInArrow(filter_func, df.schema).show()
# +---+---+
# | id|age|
# +---+---+
# | 1| 21|
# +---+---+
df.mapInArrow(filter_func, df.schema, barrier=True).collect()
# [Row(id=1, age=21)]