【问题标题】:Describe on Dataframe is not displaying the complete resultset数据框上的描述未显示完整的结果集
【发布时间】:2017-07-31 03:58:19
【问题描述】:

我使用的是 Scala 1.6。数据框上的描述不显示列标题和值。请看下面:

val data=sc.textFile("/tmp/sample.txt")
data.toDF.describe().show

这给出了以下结果:

请告诉我为什么它没有显示整个结果集。 +-------+ |总结| +-------+ |计数| |意思| |标准开发| |分钟| |最大值| +-------+

【问题讨论】:

  • 抱歉,我指的是 Spark 1.6(不是 Scala 1.6)

标签: apache-spark


【解决方案1】:

我认为您只需要使用show 方法即可。

sc.textFile("/tmp/sample.txt").toDF.show

就显示完整的 RDD 而言,请注意这一点,因为您需要在驱动程序上收集结果才能执行此操作。如果 csv 文件很大,您可能需要考虑使用 take。

val data = sc.textFile("/tmp/sample.txt").toDF
data.collect.foreach(println)

data.take(100).foreach(println)

【讨论】:

  • 我想了解Describe方法。 toDF.describe().show 不显示列名或值。我只得到 sum、count、min、max、stddev。
【解决方案2】:

这是因为,spark 1.6 默认将每个文件都视为字符串,并且它不提供字符串类型的摘要统计信息。但是,在 Spark 2.1 中,这些列被正确推断为它们各自的数据类型(Int/String/Double 等),并且汇总统计信息包括文件中的所有列,并且不仅限于数字字段。

我觉得 df.describe() 在 Spark 2.1 中的工作比在 Spark 1.6 中更优雅。

【讨论】:

    猜你喜欢
    • 2018-06-23
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    相关资源
    最近更新 更多