我使用spark-csv加载数据到一个DataFrame。我想做一个简单的查询并显示内容:

val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load("my.csv")
df.registerTempTable("tasks")
results = sqlContext.sql("select col from tasks");
results.show()

山坳似乎被截断了:

scala> results.show();
+--------------------+
|                 col|
+--------------------+
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-06 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:21:...|
|2015-11-16 07:21:...|
|2015-11-16 07:21:...|
+--------------------+

如何显示列的全部内容?


当前回答

results.show(20,false)在Scala中为我做到了这一点。

其他回答

下面的代码将有助于查看所有行,而不会截断每列

df.show(df.count(), False)

在scala中试试这个:

df.show(df.count.toInt, false)

show方法接受一个整数和一个布尔值,但df除外。count返回Long…所以需要类型铸造

如果输入results.show(false),结果将不会被截断

其他的解都很好。如果这些是你的目标:

没有列的截断, 没有行损失, 快, 非常高效。

这两行很有用……

    df.persist
    df.show(df.count, false) // in Scala or 'False' in Python

通过持久化,当使用持久化或缓存来维护执行器内部的临时底层数据帧结构时,执行器的两个操作count和show会更快更有效。请参阅有关持久化和缓存的更多信息。

在Databricks中,您可以以表格格式可视化数据帧。使用命令:

display(results)

它看起来就像