PySpark和pandasDataFrames转换
学习用Apache数据框架转换PandasDataFramesDatabricks
Apache箭头和PyArrow
阿帕契箭头achespark使用模拟列数据格式高效传输JVM进程和Python进程间数据Python开发者使用pandas和NumPy数据使用它需要小配置或代码修改以确保兼容性并获取最大收益
PyArrow系Apache箭头绑定并安装在Databricks RuntimePyArrow版本信息可见于数据bricks运行时版,见数据布列克斯运行时发布注解版本和兼容性.
支持sql类型
SparkSQL所有数据类型均支持绿箭转换除地图类型
,数组类型
联想时间戳类型
并嵌套structType系统
.structType系统
表示为pandas.DataFrame
取而代之熊猫串行
.二进制类型
仅支持PyArrow0.1.0和以上版本
转换pySpark数据框架往返pandasDataFrames
箭头转换pySpark数据FrametoPandas ()
并用熊猫DataFrame创建createDataFrame(pandas_df)
.
使用箭头方法设置spark配置spark.sql.execution.arrow.pyspark.enabled
至真实性
.默认启动配置除高通量集群和UnityCatalog启动工作空间用户隔离集群
此外,优化启动spark.sql.execution.arrow.pyspark.enabled
返回非Arrow实施时,可发生错误后再计算spark内部可使用spark配置控制此行为spark.sql.execution.arrow.pyspark.fallback.enabled
.
实例
导入纽菲原封NP导入熊猫原封pd# 启动绿柱数据传输点火.conf.集高山市"spark.sql.execution.arrow.pyspark.enabled",真实性)生成熊猫DataFramepdf大全=pd.数据Frame高山市NP.随机.兰德高山市百元,3)# 从熊猫数据Frame使用箭头创建spark数据Framedf=点火.创建DataFrame高山市pdf大全)spark数据Frame转换成熊猫数据Frame使用绿箭结果pdf=df.选择高山市"*").toPandas系统(b)
使用箭头优化产生结果与不启用箭头结果相同连绿箭头toPandas ()
结果收集DataFrame所有记录到驱动程序,并应该对小子集数据完成
此外,并非所有spark数据类型都得到支持,如果列有非支持类型则报错万一报错时createDataFrame()
Spark创建DataFrame