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 如何计算火花驱动器的最大结果大小_Apache Spark_Pyspark - Fatal编程技术网

Apache spark 如何计算火花驱动器的最大结果大小

Apache spark 如何计算火花驱动器的最大结果大小,apache-spark,pyspark,Apache Spark,Pyspark,最近我收到一个错误,超过了“spark.driver.MaxResultSize”。我正在使用pyspark on Thread客户端模式。该代码用于生成用于测试的随机伪数据 new_df = None for i in range(int(2000)): df = spark.range(0,10000) temp = df.select(f.col("id").alias('user_id'), f.round(1000 * f.abs(f.randn(seed=27))).

最近我收到一个错误,超过了“spark.driver.MaxResultSize”。我正在使用pyspark on Thread客户端模式。该代码用于生成用于测试的随机伪数据

new_df = None
for i in range(int(2000)):
    df = spark.range(0,10000)
    temp = df.select(f.col("id").alias('user_id'), f.round(1000 * f.abs(f.randn(seed=27))).alias("duration"))
    if new_df is None:
        new_df = temp
    else:
        new_df = new_df.union(temp)

我尝试将最大结果大小增加到15G以使其正常工作。我不知道为什么它需要这么多内存。有没有关于如何计算结果集大小的指南

我的印象是,代码都是在司机身上执行的,而不是工人。e、 g.for和df语句。与通过DFReader从Hive或JDBC读取不同

文件规定:

spark.driver.maxResultSize 1g序列化文件总大小的默认限制 中每个火花动作(例如收集)的所有分区结果 字节。应至少为1M,或0表示无限制。工作将被中止 如果总大小超过此限制。限制过高可能会导致 驱动程序内存不足错误(取决于spark.driver.memory和 JVM中对象的内存开销)。设置适当的限制可以保护 驱动程序内存不足错误


您可能希望查看这些以获得指导:这样可以分配负载处理,并增加spark.driver.maxResultSize(如果您希望收集到驱动程序),我不会这样做。

您认为答案中有任何值吗?