Как использовать кластеризацию Zorder при написании дельта-таблицы в PySpark?
Я пытаюсь написать очень большой фрейм данных 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)")
но как я могу сделать эквивалент второй строки, скажем, кластеру zorder в определенном столбце "my_col" в PySpark?
1 ответ
Вторая строка - это команда SQL, полученная из Scala. Вы можете сделать то же самое в Python с spark.sql("OPTIMIZE tableName ZORDER BY (my_col)")
,
Также ознакомьтесь с документацией, в ней приведен полный пример блокнота для PySpark.