Мы пытаемся получить логический план (не путать с физическим планом), который Spark генерирует для данного запроса. В соответствии с документами Spark здесь вы можете получить это с помощью команды scala:
df.explain(true)
или в sparklyr с примером кода:
spark_version <- "2.4.3"
sc <- spark_connect(master = "local", version = spark_version)
iris_sdf <- copy_to(sc, iris)
iris_sdf %>%
spark_dataframe %>%
invoke("explain", T)
Эта команда выполняется, но просто возвращает NULL
в RStudio. Я предполагаю, что sparklyr не получает содержимое, которое выводится на консоль. Есть ли способ обойти этот или другой способ получить логический план, используя sparklyr? Физический план легко получить с помощью dplyr::explain([your_sdf])
, но он не возвращает логический план, который использовался для его создания.