Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wijst een iterator van batches in het huidige DataFrame toe met behulp van een Python systeemeigen functie die wordt uitgevoerd op pyarrow.RecordBatchs zowel als invoer en uitvoer, en retourneert het resultaat als een DataFrame.
Syntaxis
mapInArrow(func: "ArrowMapIterFunction", schema: Union[StructType, str], barrier: bool = False, profile: Optional[ResourceProfile] = None)
Parameterwaarden
| Kenmerk | Typ | Beschrijving |
|---|---|---|
func |
function | een Python systeemeigen functie die een iterator van pyarrow.RecordBatchs gebruikt en een iterator uitvoert van pyarrow.RecordBatchs. |
schema |
DataType of str | het retourtype van de func in PySpark. De waarde kan een pyspark.sql.types.DataType object of een tekenreeks met DDL-indeling zijn. |
barrier |
bool, optioneel, standaard false | Gebruik de uitvoering van de barrièremodus om ervoor te zorgen dat alle Python werknemers in de fase gelijktijdig worden gestart. |
profile |
ResourceProfile, optioneel | Het optionele ResourceProfile dat moet worden gebruikt voor mapInArrow. |
Retouren
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)]