Spark - 从DataFrame中提取单个值

Nie*_*and 32 scala apache-spark apache-spark-sql

我有一个Spark DataFrame查询,保证返回单个Int值的单列.从生成的DataFrame中将此值作为Int提取的最佳方法是什么?

kos*_*tya 51

您可以使用 head

df.head().getInt(0)
Run Code Online (Sandbox Code Playgroud)

要么 first

df.first().getInt(0)
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请查看DataFrame scala文档

  • 注意:first()是head()的别名。(对于在这里阅读的其他人) (2认同)

Har*_*_pb 7

在 中,如果是单个实体作为响应,Pyspark您可以简单地获取第一个元素,否则,将返回一个整体,然后您必须获得响应,即 2 维列表,例如dataframeone columnrowdimension-wisedf.head()[0][0]

df.head()[0]
Run Code Online (Sandbox Code Playgroud)


Til*_*ann 5

这样可以解决您的问题。

df.map{
    row => row.getInt(0)
}.first()
Run Code Online (Sandbox Code Playgroud)