pyspark.sql.DataFrame.mapInArrow

DataFrame。 mapInArrow ( 函數:ArrowMapIterFunction,模式:聯盟(pyspark.sql.types.StructType,str] )→DataFrame

地圖批次在當前的迭代器DataFrame使用Python的本機函數和輸出PyArrow的RecordBatch,並返回結果DataFrame

的函數應該采取一個迭代器pyarrow.RecordBatch年代和返回的另一個迭代器pyarrow.RecordBatch年代。所有列在一起作為一個迭代器的傳遞pyarrow.RecordBatch的函數和返回的迭代器pyarrow.RecordBatchs是作為相結合DataFrame。每一個pyarrow.RecordBatch大小可以控製的spark.sql.execution.arrow.maxRecordsPerBatch

參數
函數 函數

一個Python本機函數需要一個迭代器pyarrow.RecordBatch年代,和輸出迭代器pyarrow.RecordBatch年代。

模式 pyspark.sql.types.DataType或str

的返回類型函數在PySpark。值可以是pyspark.sql.types.DataType對象或DDL-formatted類型字符串。

筆記

這個API是不穩定的,對於開發人員。

例子

> > >進口pyarrow> > >df=火花createDataFrame(((1,21),(2,30.)),(“id”,“年齡”))> > >deffilter_func(迭代器):批處理迭代器:pdf=批處理to_pandas()收益率pyarrowRecordBatchfrom_pandas(pdf(pdfid= =1])> > >dfmapInArrow(filter_func,df模式)顯示()+ - - - + - - - +年齡| | | id+ - - - + - - - +| 1 | | 21日+ - - - + - - - +