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.
Memetakan iterator batch dalam DataFrame saat ini menggunakan fungsi asli Python yang dilakukan pada pyarrow.RecordBatchs baik sebagai input dan output, dan mengembalikan hasilnya sebagai DataFrame.
Sintaksis
mapInArrow(func: "ArrowMapIterFunction", schema: Union[StructType, str], barrier: bool = False, profile: Optional[ResourceProfile] = None)
Parameter-parameternya
| Parameter | Tipe | Deskripsi |
|---|---|---|
func |
fungsi | fungsi asli Python yang mengambil iterator pyarrow.RecordBatchs, dan menghasilkan iterator pyarrow.RecordBatchs. |
schema |
DataType atau str | jenis func pengembalian dalam PySpark. Nilai dapat berupa pyspark.sql.types.DataType objek atau string jenis berformat DDL. |
barrier |
bool, opsional, default False | Gunakan eksekusi mode penghalang, memastikan bahwa semua pekerja Python dalam tahap akan diluncurkan secara bersamaan. |
profile |
ResourceProfile, opsional | ResourceProfile opsional yang akan digunakan untuk mapInArrow. |
Pengembalian Barang
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)]