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

时间:2015-11-16 19:17:44

标签: apache-spark dataframe spark-csv output-formatting

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

<h1>800.BUY.WIDG</h1> <span class="stylistic_ndash">&ndash;</span> <h1>Call&nbsp;Now!</h1>

col似乎被截断了:

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()

如何显示列的完整内容?

17 个答案:

答案 0 :(得分:265)

char inp[1000][80],qed[1000][80]; 不会截断。查看source

答案 1 :(得分:24)

如果您放置results.show(False),结果将不会被截断

答案 2 :(得分:12)

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

  1. 不截断列,
  2. 没有丢失行,
  3. 快速
  4. 高效
  5. 这两行很有用......

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

    通过坚持,2个遗嘱执行人的行动,计数和显示,更快更好。使用persistcache维护执行程序中的临时基础数据框结构时效率更高。详细了解persist and cache

答案 3 :(得分:10)

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

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

答案 4 :(得分:9)

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

答案 5 :(得分:3)

results.show(false)会显示完整的列内容。

默认情况下,将方法显示限制为20,在false之前添加数字会显示更多行。

答案 6 :(得分:1)

您可以在Databricks中以表格格式显示数据框。使用命令:

display(results)

看起来像

enter image description here

答案 7 :(得分:1)

results.show(20,false)在Scala为我做了诀窍。

答案 8 :(得分:1)

尝试此命令:

df.show(df.count())

答案 9 :(得分:0)

我使用插件Chrome扩展程序效果很好:

[https://userstyles.org/styles/157357/jupyter-notebook-wide][1]

答案 10 :(得分:0)

在scala中尝试一下:

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

show方法接受一个整数和一个布尔值,但是df.count返回Long ...因此必须进行类型转换

答案 11 :(得分:0)

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

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

答案 12 :(得分:0)

以下答案适用于Spark Streaming应用程序。

通过将“ truncate”选项设置为false,可以告诉输出接收器显示完整的列。

val query = out.writeStream
          .outputMode(OutputMode.Update())
          .format("console")
          .option("truncate", false)
          .trigger(Trigger.ProcessingTime("5 seconds"))
          .start()

答案 13 :(得分:0)

在pyspark中尝试过

df.show(truncate=0)

答案 14 :(得分:0)

PYSPARK

在下面的代码中,df 是数据框的名称。第一个参数是动态显示数据框中的所有行,而不是对数值进行硬编码。第二个参数将负责显示完整的列内容,因为该值设置为 False

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

enter image description here


SCALA

在下面的代码中,df 是数据框的名称。第一个参数是动态显示数据框中的所有行,而不是对数值进行硬编码。第二个参数将负责显示完整的列内容,因为该值设置为 false

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

enter image description here

答案 15 :(得分:0)

试试 df.show(20,False)

注意,如果不指定要显示的行数,它会显示 20 行,但会执行所有数据帧,这将花费更多时间!

答案 16 :(得分:0)

Pyspark中我们可以使用

df.show(truncate=False) 这将显示列的完整内容而不会被截断。

df.show(5,truncate=False) 这将显示前五行的完整内容。