如何在pyspark.sql.functions.pandas_udf和pyspark.ql.functions.udf



我知道当涉及矢量化时,pyspark.sql.functions.pandas_udf将比pyspark.ql.functions.udf更快。

但是,如果不涉及矢量化,两者的性能应该相似吗?在两者之间做出选择有什么指导方针吗?

Pandas UDF在大多数情况下应该更快,主要是因为Spark JVM和Python进程之间的数据编码更有效,所以建议尽可能多地使用Pandas。

";正常的";UDF可以在Pandas UDF不能使用的情况下使用,例如,现在它们不能与MapTypeTimestampType的数组和嵌套的StructType一起使用。

另外,在使用PySpark时,评估考拉的使用情况可能是有意义的。在我自己的测试中,考拉比使用Pandas UDF的类似代码快大约2倍,尽管精心编写的PySpark代码仍然更快。

相关内容

  • 没有找到相关文章

最新更新