遇到问题
我有一个15GB的Hive表,我想用pandas处理,于是我在pyspark中用spark.sql()
读入为spark dataframe,然后使用pandas_df = spark_df.toPandas()
命令将spark dataframe转换为pandas dataframe,但这个时候报错:
org.apache.spark.SparkException: Kryo serialization failed: Buffer overflow. Available: 0, required: 35776893. To avoid this, increase spark.kryoserializer.buffer.max value.
解决方法
上述报错是因为spark缓存区大小不足,因此我们按照报错中的建议,在spark-submit中调整参数,将以下参数改为(原本没有则添加)\--conf spark.kryoserializer.buffer.max=256m \--conf spark.kryoserializer.buffer=64m
问题解决。
但是遇到新问题
上一个错误解决了,但是现在运行pyspark程序的时候又遇到新的报错:
org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialized results of