【问题标题】:Return logical plan using sparklyr使用 sparklyr 返回逻辑计划
【发布时间】:2023-03-18 03:15:01
【问题描述】:

我们正在尝试获取 Spark 为给定查询生成的 逻辑 计划(不要与 物理 计划混淆)。根据 Spark 文档here,您应该能够使用 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)

此命令运行,但只是在 RStudio 中返回 NULL。我的猜测是 sparklyr 不会检索打印到控制台的内容。有没有办法解决这个或另一种方法来使用 sparklyr 检索逻辑计划?使用dplyr::explain([your_sdf]) 很容易获得物理计划,但不会返回用于创建它的逻辑计划。

【问题讨论】:

  • sdf_debug_string() 有帮助吗?

标签: r apache-spark apache-spark-sql sparklyr


【解决方案1】:

看起来你可以通过以下方式获得:

iris_sdf %>% 
  spark_dataframe %>% 
  invoke("queryExecution") %>%
  invoke("toString") %>%
  cat()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多