Github user adrian555 commented on the issue:

    https://github.com/apache/spark/pull/22455
  
    @falaki trying to understand what you were asking for. I know that `print` 
takes some arguments like `digit` and `quote` that can further format the 
output. `print` is for S3 object and `show` is for S4 object. So, are you 
asking for `print.SparkDataFrame` function as follow
    ```
    print.SparkDataFrame <- function(x, ...) {
      argsList <- list(...)
      if (!is.null(argsList$eager) && !argsList$eager) {
        cols <- lapply(dtypes(x), function(l) {
          paste(l, collapse = ":")
        })
        s <- paste(cols, collapse = ", ")
        cat(paste(class(x), "[", s, "]\n", sep = ""))
      } else {
        show(x)
      }
    }
    ```
    With this, 
    * `print(df)` will have the same behavior as `show(df)`. 
    * `print(df, eager=FALSE)` will continue to display just the SparkDataFrame 
class info, even eager execution is enabled. 
    * `print(df, eager=TRUE)` will be the same as `show()` when eager execution 
is enabled. But if eager execution is disable, the passed in `eager=TRUE` is 
ignored. (This way, we guarantee only the session's SQLConf is in effect.)
    
    Also, are you also thinking of passing the `maxNumRows` and `truncate` as 
arguments to `print.SparkDataFrame` and replacing 
`spark.sql.repl.eagerEval.maxNumRows` and `spark.sql.repl.eagerEval.truncate`?
    
    Please let me know if this is on par with your thought then I will push a 
commit.
    
    Thanks.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to