【问题标题】:Spark - extracting single value from DataFrameSpark - 从 DataFrame 中提取单个值
【发布时间】:2015-11-04 20:54:20
【问题描述】:

我有一个 Spark DataFrame 查询,它保证返回具有单个 Int 值的单个列。从结果 DataFrame 中将此值提取为 Int 的最佳方法是什么?

【问题讨论】:

    标签: scala apache-spark apache-spark-sql


    【解决方案1】:

    你可以使用head

    df.head().getInt(0)
    

    first

    df.first().getInt(0)
    

    查看DataFrame scala 文档了解更多详情

    【讨论】:

    • 注意:first()head() 的别名。 (供其他人在这里阅读)
    • PySpark 中的任何等价物?
    【解决方案2】:

    这可以解决你的问题。

    df.map{
        row => row.getInt(0)
    }.first()
    

    【讨论】:

      【解决方案3】:

      Pyspark中,如果dataframe是单个实体,以one column作为响应,您可以简单地获取第一个元素,否则,将返回整个row,那么您必须获取dimension-wise响应即二维列表,如df.head()[0][0]

      df.head()[0]
      

      【讨论】:

        【解决方案4】:

        如果我们有 spark 数据框:

        +----------+
        |_c0       |
        +----------+
        |2021-08-31|
        +----------+
        
        x = df.first()[0]
        print(x)
        
        2021-08-31
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-05
          • 2017-07-06
          • 2017-09-29
          • 2021-06-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多