当前位置: 首页 > 知识库问答 >
问题:

有没有更好的方法来显示整个Spark SQL数据帧?

仰翰采
2023-03-14

我想使用Scala API显示整个Apache SparkSQLDataFrame。我可以使用show()方法:

myDataFrame.show(Int.MaxValue)

有没有比使用Int.MaxValue更好的方法来显示整个数据帧?

共有3个答案

鲁旭
2023-03-14

尝试与,

df。显示(35,假)

它将显示35行和35列值,并带有完整的值名称。

阚亮
2023-03-14

一种方法是使用count()函数获取记录总数,然后使用show(rdd.count())

吕高寒
2023-03-14

通常不建议向stdout显示整个数据帧,因为这意味着您需要将整个数据帧(其所有值)拉到驱动程序(除非数据帧已经是本地的,您可以使用df.isLocal进行检查)。

除非您提前知道数据集的大小足够小,以便驱动程序JVM进程有足够的内存来容纳所有值,否则这样做是不安全的。这就是为什么DataFrame API默认情况下只显示前20行的原因。

您可以使用返回Array[T]df.collect,然后遍历每一行并打印它:

df.collect.foreach(println)

但您将丢失在df中实现的所有格式。showString(numRows:Int)(内部使用的)。

所以不,我想没有更好的办法了。

 类似资料:
  • 除了把它们全部输入外,还有没有更好的方法在字符串中列出它们?

  • 问题内容: 是否有一个很好的方法来Map 获取和忽略案件? 问题答案: TreeMap扩展了Map并支持自定义比较器。 字符串提供默认的不区分大小写的比较器。 所以: 比较器不考虑区域设置。在其JavaDoc中阅读有关它的更多信息。

  • 除了把它们全部输入外,还有没有更好的方法在字符串中列出它们?

  • 我试图解决这个问题:“2520是最小的数字,可以被1到10的每个数字除,没有任何余数。 可以被1到20的所有数字整除的最小正数是多少?" 请不要告诉我答案,我真的很想自己解决。我只需要一个关于问题数学方面的建议。问题是每个周期添加一个不是一个好主意,因为这个过程太慢了。或者变量类型不长的问题? 我试图得到(1到10)和(1到17)之间所有数字的等分数,该算法运行良好。 我期望得到特定的整数,但得到

  • 假设我有一个用户模式/模型,用户有一个朋友列表。Mongoose希望您将好友列表(外键/ObjectID类型)存储为数组,对吗?这意味着如果我想通过ID找到我的朋友,Mongoose将搜索数组,直到找到具有我想要的ID的朋友的第一个实例。那似乎真的是时间低效,不是吗?有更好的办法吗?

  • 我正在创建一个JSP. tag文件来处理这个用例: 其中,行为将是获取请求参数,转义其值以“安全”使用,并将转义值放回某个作用域(例如请求),与参数同名(尽管它可能是另一个名称)。 我有一个可以工作的实现,但我有scriptlet,因为我找不到在JSTL中使用变量名的方法。但我不是JSTL向导,所以我想看看我是否缺少语法/方法。这是正在工作的文件: (我真希望艾尔能自动逃脱。)