我使用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:...|
+--------------------+

如何显示列的全部内容?


当前回答

在c#选项中("truncate", false)不会截断输出中的数据。

StreamingQuery query = spark
                    .Sql("SELECT * FROM Messages")
                    .WriteStream()
                    .OutputMode("append")
                    .Format("console")
                    .Option("truncate", false)
                    .Start();

其他回答

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

结果。Show (20, false)不会截断。检查来源

20是在不带任何参数的情况下调用show()时显示的默认行数。

在scala中试试这个:

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

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

用Spark python的方式,记住:

如果你必须从数据帧中显示数据,使用show(truncate=False)方法。 否则,如果你必须从流数据帧视图(结构化流)显示数据,使用writeStream.format("console")。option("truncate", False).start()方法

希望它能帮助到一些人。

结果。show(20, False)或结果。错误的显示(20日) 这取决于你是在Java/Scala/Python上运行它