Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 在Spark中调用dataframe.collect时拉入驱动程序的数据量异常_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark 在Spark中调用dataframe.collect时拉入驱动程序的数据量异常

Apache spark 在Spark中调用dataframe.collect时拉入驱动程序的数据量异常,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,在我的spark代码中,我从数据帧收集驱动程序上的一个小对象。我在控制台上看到以下错误消息。我正在调用dataframe。在我的程序中取(1) Total size of serialized results of 13 tasks (1827.6 MB) is bigger than spark.driver.maxResultSize (1024.0 MB) 要知道这可以通过设置spark.driver.maxResultSizeparam来解决。但我的问题是,当我收集的对象小于1 MB时

在我的spark代码中,我从数据帧收集驱动程序上的一个小对象。我在控制台上看到以下错误消息。我正在调用
dataframe。在我的程序中取(1)

Total size of serialized results of 13 tasks (1827.6 MB) is bigger than spark.driver.maxResultSize (1024.0 MB)

要知道这可以通过设置
spark.driver.maxResultSize
param来解决。但我的问题是,当我收集的对象小于1 MB时,为什么会有这么多数据被拉入驱动程序。在这种情况下,所有对象首先被序列化并拉入驱动程序,然后驱动程序选择其中一个(
take(1)
)作为输出

从上面的问题来看,您似乎希望从数据帧中提取1行,这可以使用下面的代码实现

df.take(1)
但是,当您执行
df.take(1).collect()时,将对
take(1)
的结果应用collect,这是scala或python中的另一个集合(取决于您使用的语言)

另外,您为什么要执行“按需付费”(1)

问候,

尼拉吉