问题描述
在数据块上,从R数据帧开始:
x <- data.frame(n=1:1000)
SparkR::summary(x)
n
最低:1.0
一等奖:250.8
中位数:500.5
均值:500.5
第三届:750.2
最高:1000.0
命令花费了0.02秒-由 @ 在9/9/2020,9:46:57 AM在aa_cluster_6w上
接下来,我将R数据帧转换为spark数据帧:
y <- SparkR::createDataFrame(x=x)
我能够确认对象y确实是Spark Dataframe:
class(y)
[1]“ SparkDataFrame” attr(,“包裹”) [1]“ SparkR”
命令花费了0.01秒-由 @ 在9/9/2020,9:47:35 AM在aa_cluster_6w上
不幸的是,当我尝试对其进行汇总时,SparkR库不会输出函数结果:
SparkR::summary(y)
SparkDataFrame [summary:string,n:string]
命令花费了0.48秒-由 @ 在2020年9月9日上午9:47:16在aa_cluster_6w上
解决方法
我在写问题时想出了如何回答问题。因此,我最好自己记录下答案:
Spark R摘要功能返回一个数据框,而不是文本,因此必须将其转换为文本。做到这一点的两种方法如下:
display(SparkR::summary(y))
或
SparkR::collect(SparkR::summary(y))
显示功能将Spark数据帧打印为databricks笔记本中的精美输出。
Spark R收集功能将一个Spark数据帧拉入活动集群驱动程序的RAM中的本地对象中。对于包含统计摘要的小型数据框,此操作是微不足道的。