如何在 Spark Dataframe 中显示完整的列内容?
How to show full column content in a 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)
不会截断。检查 source
20
是在不带任何参数调用 show()
时显示的默认行数。
如果你输入 results.show(false)
,结果将不会被截断
试试这个命令:
df.show(df.count())
下面的代码将有助于查看所有行而不截断每列
df.show(df.count(), False)
其他方案都不错。如果这些是您的目标:
- 没有截断列,
- 没有丢失行,
- 快速且
- 高效
这两行很有用...
df.persist
df.show(df.count, false) // in Scala or 'False' in Python
通过坚持,当使用 persist
或 cache
维护执行程序中的临时基础数据帧结构时,计数和显示这 2 个执行程序操作会更快、更高效。查看更多关于 persist and cache.
results.show(20, False)
或 results.show(20, false)
取决于你是否 运行 它在 Java/Scala/Python
results.show(false)
将为您显示完整的专栏内容。
显示方法默认限制为20,在false
前添加数字将显示更多行。
results.show(20,false)
在 Scala 中帮了我大忙。
在 Databricks 中,您可以以表格格式可视化数据框。使用命令:
display(results)
看起来像
我使用插件 Chrome 扩展效果很好:
[https://userstyles.org/styles/157357/jupyter-notebook-wide][1]
在 Scala 中试试这个:
df.show(df.count.toInt, false)
show 方法接受一个整数和一个布尔值,但是 df.count returns 长...因此需要进行类型转换
在 c# 中 Option("truncate", false)
不会截断输出中的数据。
StreamingQuery query = spark
.Sql("SELECT * FROM Messages")
.WriteStream()
.OutputMode("append")
.Format("console")
.Option("truncate", false)
.Start();
以下答案适用于 Spark Streaming 应用程序。
通过将 "truncate" 选项设置为 false,您可以让输出接收器显示完整的列。
val query = out.writeStream
.outputMode(OutputMode.Update())
.format("console")
.option("truncate", false)
.trigger(Trigger.ProcessingTime("5 seconds"))
.start()
在 pyspark 中试过这个
df.show(truncate=0)
PYSPARK
在下面的代码中,df
是dataframe的名称。第一个参数是动态显示数据框中的所有行,而不是硬编码一个数值。第二个参数将负责显示完整的列内容,因为该值设置为 False
.
df.show(df.count(),False)
斯卡拉
在下面的代码中,df
是dataframe的名称。第一个参数是动态显示数据框中的所有行,而不是硬编码一个数值。第二个参数将负责显示完整的列内容,因为该值设置为 false
.
df.show(df.count().toInt,false)
试试看
df.show(20,假)
请注意,如果您不指定要显示的行数,它将显示
20 行,但将执行所有数据帧,这将花费更多时间!
在Pyspark中我们可以使用
df.show(truncate=False) 这将显示列的全部内容而不截断。
df.show(5,truncate=False) 这将显示前五行的全部内容。
在 Spark Pythonic 方式中,记住:
- 如果您必须显示数据框中的数据,请使用
show(truncate=False)
方法。
- 否则,如果您必须显示流数据帧视图(结构化流)中的数据,请使用带选项的
writeStream.format("console").option("truncate", False).start()
方法。
希望对大家有所帮助。
我正在使用 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)
不会截断。检查 source
20
是在不带任何参数调用 show()
时显示的默认行数。
如果你输入 results.show(false)
,结果将不会被截断
试试这个命令:
df.show(df.count())
下面的代码将有助于查看所有行而不截断每列
df.show(df.count(), False)
其他方案都不错。如果这些是您的目标:
- 没有截断列,
- 没有丢失行,
- 快速且
- 高效
这两行很有用...
df.persist
df.show(df.count, false) // in Scala or 'False' in Python
通过坚持,当使用 persist
或 cache
维护执行程序中的临时基础数据帧结构时,计数和显示这 2 个执行程序操作会更快、更高效。查看更多关于 persist and cache.
results.show(20, False)
或 results.show(20, false)
取决于你是否 运行 它在 Java/Scala/Python
results.show(false)
将为您显示完整的专栏内容。
显示方法默认限制为20,在false
前添加数字将显示更多行。
results.show(20,false)
在 Scala 中帮了我大忙。
在 Databricks 中,您可以以表格格式可视化数据框。使用命令:
display(results)
看起来像
我使用插件 Chrome 扩展效果很好:
[https://userstyles.org/styles/157357/jupyter-notebook-wide][1]
在 Scala 中试试这个:
df.show(df.count.toInt, false)
show 方法接受一个整数和一个布尔值,但是 df.count returns 长...因此需要进行类型转换
在 c# 中 Option("truncate", false)
不会截断输出中的数据。
StreamingQuery query = spark
.Sql("SELECT * FROM Messages")
.WriteStream()
.OutputMode("append")
.Format("console")
.Option("truncate", false)
.Start();
以下答案适用于 Spark Streaming 应用程序。
通过将 "truncate" 选项设置为 false,您可以让输出接收器显示完整的列。
val query = out.writeStream
.outputMode(OutputMode.Update())
.format("console")
.option("truncate", false)
.trigger(Trigger.ProcessingTime("5 seconds"))
.start()
在 pyspark 中试过这个
df.show(truncate=0)
PYSPARK
在下面的代码中,df
是dataframe的名称。第一个参数是动态显示数据框中的所有行,而不是硬编码一个数值。第二个参数将负责显示完整的列内容,因为该值设置为 False
.
df.show(df.count(),False)
斯卡拉
在下面的代码中,df
是dataframe的名称。第一个参数是动态显示数据框中的所有行,而不是硬编码一个数值。第二个参数将负责显示完整的列内容,因为该值设置为 false
.
df.show(df.count().toInt,false)
试试看 df.show(20,假)
请注意,如果您不指定要显示的行数,它将显示 20 行,但将执行所有数据帧,这将花费更多时间!
在Pyspark中我们可以使用
df.show(truncate=False) 这将显示列的全部内容而不截断。
df.show(5,truncate=False) 这将显示前五行的全部内容。
在 Spark Pythonic 方式中,记住:
- 如果您必须显示数据框中的数据,请使用
show(truncate=False)
方法。 - 否则,如果您必须显示流数据帧视图(结构化流)中的数据,请使用带选项的
writeStream.format("console").option("truncate", False).start()
方法。
希望对大家有所帮助。