Sac*_*ani 7 apache-spark apache-spark-sql apache-spark-1.3
我在SparkSQL中有一个应用程序返回大量非常难以适应内存的行,因此我无法在DataFrame上使用collect函数,是否有一种方法可以将所有这些行作为Iterable instaed of整个行作为列表.
注意:我正在使用yarn-client执行此SparkSQL应用程序
一般来说,将所有数据传输到驱动程序看起来是一个非常糟糕的主意,大多数时候有一个更好的解决方案,但如果你真的想要使用它,你可以toLocalIterator在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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5709 次 |
| 最近记录: |