首页 > 解决方案 > 在 PySpark 中编写增量表时如何使用 Zorder 聚类?

问题描述

我正在尝试编写一个非常大的 PySpark 数据帧,遵循我在https://databricks.com/blog/2018/07/31/processing-petabytes-of-data-in-seconds-with-databricks-中看到的建议delta.html

但是,此页面在 Scala 中显示了建议,我不知道如何将其转换为 PySpark

我看到这样的 Scala 代码:

spark.read.table(connRandom)
     .write.format("delta").saveAsTable(connZorder)

sql(s"OPTIMIZE $connZorder ZORDER BY (src_ip, src_port, dst_ip, dst_port)")

但是我怎么能做第二行的等价物,比如在 PySpark 的特定列“my_col”上的 zorder 集群?

标签: apache-sparkpysparkapache-spark-sqldatabricks

解决方案


第二行是 Scala 给出的 SQL 命令。你可以在 python 中使用spark.sql("OPTIMIZE tableName ZORDER BY (my_col)").

另请查看文档,它有一个完整的 PySpark 笔记本示例。


推荐阅读