在Dataframe上描述不显示完整的结果集

时间:2017-03-09 23:45:45

标签: apache-spark

我正在使用Scala 1.6。数据框上的描述不显示列标题和值。请参阅以下内容:

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

这给出了以下结果:

请告诉我为什么它没有显示整个结果集。     + ------- +     |总结|     + ------- +     |算|     |意味着|     | STDDEV |     |分|     | MAX |     + ------- +

2 个答案:

答案 0 :(得分:0)

我认为你只需要使用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)

答案 1 :(得分:0)

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

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