Apache spark 在Spark中迭代ResultSet

Apache spark 在Spark中迭代ResultSet,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,当我使用jdbc对SQL db执行查询时,我会得到一个ResultSet对象作为返回。假设我要遍历ResultSet中返回的每一行,然后对每一行执行操作,我的问题是,遍历ResultSet的初始迭代是否由驱动程序或执行器处理 例如,假设我有一个服务,我想处理大量的WordCount作业。也许我有一个具有以下模式的DB: JobId: int Input: string(hdfs location) Output: string (hdfs path) Status: (not started,

当我使用jdbc对SQL db执行查询时,我会得到一个ResultSet对象作为返回。假设我要遍历ResultSet中返回的每一行,然后对每一行执行操作,我的问题是,遍历ResultSet的初始迭代是否由驱动程序或执行器处理

例如,假设我有一个服务,我想处理大量的WordCount作业。也许我有一个具有以下模式的DB:

JobId: int
Input: string(hdfs location)
Output: string (hdfs path)
Status: (not started, in progress, complete, etc.)
每次我的Spark应用程序运行时,我都希望使用jdbc从数据库中读取并获取状态为“NotStarted”的每一行。这将作为ResultSet返回,每个结果基本上都是Spark运行WordCount的参数。当我在ResultSet上迭代时,它是否会被拆分,执行者是否会在小块上迭代?或者驱动程序是否处理对每个对象的迭代?如果是前者,当我开始为给定的输入位置加载数据帧并运行必要的转换和操作以获得字数时会发生什么?执行器是否会进一步将数据帧分割给其他执行器进行处理

很抱歉,如果这个问题还不清楚,我仍然在学习Spark,并且很难将我的思想集中在其中。同样,这通常被认为是在一个大批量中处理多个请求的好方法吗?还是有更好的方法来做这件事

谢谢