如何在Spark Dataframe中显示完整的列内容?

我正在使用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() 

col似乎被截断了:

 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)不会被截断。 检查来源

如果你只放result.show(False)将不会截断结果

results.show(20, False)results.show(20, false)取决于你是在Java / Scala / Python上运行它

其他解决scheme是好的。 如果这些是你的目标:

  1. 没有列的截断,
  2. 没有损失的行,
  3. 快速和
  4. 高效

这两条线是有用的…

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

通过坚持,2个执行者动作,计数和显示,在使用persistcache来维护执行者中的临时底层dataframe结构时更快且更高效。 查看更多关于坚持和caching 。

下面的代码将有助于查看每个列中没有截断的所有行

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

试试这个命令:

 df.show(df.count()) 

试试这个:df.show(一些否)将工作,但df.show(df.count())将不起作用df.count给出输出types长,这是不接受的df.show(),因为它接受整数types。

results.show(false)将显示完整的列内容。 而show方法默认限制为20。