【问题标题】:How can I pretty print a data frame in Hue/Notebook/Scala/Spark?如何在 Hue/Notebook/Scala/Spark 中漂亮地打印数据框?
【发布时间】:2018-05-10 22:06:45
【问题描述】:

我在 HUE 3.12 笔记本中使用 Spark 2.1 和 Scala 2.11。我有一个可以像这样打印的数据框:

df.select("account_id", "auto_pilot").show(2, false)

输出如下所示:

+--------------------+----------+
|account_id          |auto_pilot|
+--------------------+----------+
|00000000000000000000|null      |
|00000000000000000002|null      |
+--------------------+----------+
only showing top 2 rows

有没有办法让数据框显示为漂亮的表格(比如我从 Impala 或 pyspark 查询时)?

相同查询的 Impala 示例:

【问题讨论】:

    标签: scala apache-spark spark-dataframe hue


    【解决方案1】:

    您可以使用魔术函数 %table ,但是此函数仅适用于数据集而不适用于数据框。一种选择是在打印之前将数据框转换为数据集。

    import spark.implicits._
    case class Account(account_id: String, auto_pilot: String)
    
    val accountDF = df.select("account_id", "auto_pilot").collect()
    val accountDS: Dataset[Account] = accountDF.as[Account]
    
    %table accountDS
    

    目前这是我能想到的解决方案。其他更好的解决方案总是受欢迎的。一旦我找到任何其他优雅的解决方案,我会尽快修改它。

    【讨论】:

      【解决方案2】:

      来自http://gethue.com/bay-area-bike-share-data-analysis-with-spark-notebook-part-2/

      这就是我所做的

      df = sqlContext.sql("select * from my_table")
      result = df.limit(5).collect()
      %table result
      

      【讨论】:

        猜你喜欢
        • 2017-12-10
        • 2017-12-15
        • 1970-01-01
        • 2014-01-25
        • 2013-09-02
        • 2023-03-31
        • 2019-02-12
        • 2019-11-22
        相关资源
        最近更新 更多