mapInArrow

pyarrow.RecordBatch üzerinde hem giriş hem de çıkış olarak gerçekleştirilen bir Python yerel işlevi kullanarak geçerli DataFrame'deki toplu işlemlerin yineleyicisini eşler ve sonucu DataFrame olarak döndürür.

Sözdizimi

mapInArrow(func: "ArrowMapIterFunction", schema: Union[StructType, str], barrier: bool = False, profile: Optional[ResourceProfile] = None)

Parametreler

Parametre Türü Açıklama
func function pyarrow.RecordBatchs yineleyicisini alan ve pyarrow.RecordBatchs yineleyicisi veren Python yerel işlevi.
schema DataType veya str PySpark'ta değerinin func dönüş türü. Değer bir pyspark.sql.types.DataType nesne veya DDL biçimli bir tür dizesi olabilir.
barrier bool, isteğe bağlı, varsayılan False Aşamadaki tüm Python çalışanlarının eşzamanlı olarak başlatılmasını sağlamak için engel modu yürütmeyi kullanın.
profile ResourceProfile, isteğe bağlı mapInArrow için kullanılacak isteğe bağlı ResourceProfile.

İadeler

DataFrame

Örnekler

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)]