如何在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是好的。 如果这些是你的目标:
- 没有列的截断,
- 没有损失的行,
- 快速和
- 高效
这两条线是有用的…
df.persist df.show(df.count, false) // in Scala or 'False' in Python
通过坚持,2个执行者动作,计数和显示,在使用persist
或cache
来维护执行者中的临时底层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。