How to get an Iterator of Rows using Dataframe in SparkSQL

后端 未结 2 805
自闭症患者
自闭症患者 2020-12-19 05:55

I have an application in SparkSQL which returns large number of rows that are very difficult to fit in memory so I will not be able to use collect function on DataFrame, is

2条回答
  •  庸人自扰
    2020-12-19 06:31

    Generally speaking transferring all the data to the driver looks a pretty bad idea and most of the time there is a better solution out there but if you really want to go with this you can use toLocalIterator method on a RDD:

    val df: org.apache.spark.sql.DataFrame = ???
    df.cache // Optional, to avoid repeated computation, see docs for details
    val iter: Iterator[org.apache.spark.sql.Row]  = df.rdd.toLocalIterator 
    

提交回复
热议问题