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:一些通用的最佳实践;“内存不足”;错误? 我用时间来触发我认为数据处理的一个非常好的解决方案。然而,有时我会出现“内存不足”的错误,仅仅查看日志并不容易发现。有没有找到并解决这些问题的好方法?我读到的建议解决方案是在这里和那里调整参数。对我来说,这听起来像是在尝试运气 避免使用GroupByKey 不要将大型RDD的所有元素复制到驱动程序 优雅地处理错误的输入数据 Spark在网络上传输数据时,需要将对象序列化为二进制形式。这可能会影响洗牌或其他需要传输大量数据的操作的性能。为了改善这一点,首先尝试确保您的代码的编写方式能够最大限度地减少可能发生的混乱(例如,最后只能使用groupByKey,而宁愿使用尽可能就地执行聚合的reduceByKey之类的操作)。第二,考虑 对对象使用Kryo而不是java.io.Serializable,因为它具有更紧凑的 二进制表示比标准Java序列化程序更简单,压缩或解压缩速度也更快。为了进一步提高性能,特别是在处理数十亿个对象时,您可以在启动时向Kryo序列化程序注册类,从而节省更多宝贵的字节 对于较大的数据集(>200Gb),JVM Spark运行时的垃圾收集可能会成为性能问题。一般来说,通过默认的ParallelGC切换到g1gc最终将更具性能。尽管如此,仍需要根据数据集和应用程序的详细信息进行一些调整_Apache Spark - Fatal编程技术网

Apache spark Spark:一些通用的最佳实践;“内存不足”;错误? 我用时间来触发我认为数据处理的一个非常好的解决方案。然而,有时我会出现“内存不足”的错误,仅仅查看日志并不容易发现。有没有找到并解决这些问题的好方法?我读到的建议解决方案是在这里和那里调整参数。对我来说,这听起来像是在尝试运气 避免使用GroupByKey 不要将大型RDD的所有元素复制到驱动程序 优雅地处理错误的输入数据 Spark在网络上传输数据时,需要将对象序列化为二进制形式。这可能会影响洗牌或其他需要传输大量数据的操作的性能。为了改善这一点,首先尝试确保您的代码的编写方式能够最大限度地减少可能发生的混乱(例如,最后只能使用groupByKey,而宁愿使用尽可能就地执行聚合的reduceByKey之类的操作)。第二,考虑 对对象使用Kryo而不是java.io.Serializable,因为它具有更紧凑的 二进制表示比标准Java序列化程序更简单,压缩或解压缩速度也更快。为了进一步提高性能,特别是在处理数十亿个对象时,您可以在启动时向Kryo序列化程序注册类,从而节省更多宝贵的字节 对于较大的数据集(>200Gb),JVM Spark运行时的垃圾收集可能会成为性能问题。一般来说,通过默认的ParallelGC切换到g1gc最终将更具性能。尽管如此,仍需要根据数据集和应用程序的详细信息进行一些调整

Apache spark Spark:一些通用的最佳实践;“内存不足”;错误? 我用时间来触发我认为数据处理的一个非常好的解决方案。然而,有时我会出现“内存不足”的错误,仅仅查看日志并不容易发现。有没有找到并解决这些问题的好方法?我读到的建议解决方案是在这里和那里调整参数。对我来说,这听起来像是在尝试运气 避免使用GroupByKey 不要将大型RDD的所有元素复制到驱动程序 优雅地处理错误的输入数据 Spark在网络上传输数据时,需要将对象序列化为二进制形式。这可能会影响洗牌或其他需要传输大量数据的操作的性能。为了改善这一点,首先尝试确保您的代码的编写方式能够最大限度地减少可能发生的混乱(例如,最后只能使用groupByKey,而宁愿使用尽可能就地执行聚合的reduceByKey之类的操作)。第二,考虑 对对象使用Kryo而不是java.io.Serializable,因为它具有更紧凑的 二进制表示比标准Java序列化程序更简单,压缩或解压缩速度也更快。为了进一步提高性能,特别是在处理数十亿个对象时,您可以在启动时向Kryo序列化程序注册类,从而节省更多宝贵的字节 对于较大的数据集(>200Gb),JVM Spark运行时的垃圾收集可能会成为性能问题。一般来说,通过默认的ParallelGC切换到g1gc最终将更具性能。尽管如此,仍需要根据数据集和应用程序的详细信息进行一些调整,apache-spark,Apache Spark,除上述内容外 根据输入大小管理执行器内存 当输入大小不适合内存时,可以使用磁盘和内存选项

除上述内容外

  • 根据输入大小管理执行器内存
  • 当输入大小不适合内存时,可以使用磁盘和内存选项