【问题标题】:Apache Arrow OutOfMemoryException when PySpark reads Hive table to pandas当 PySpark 将 Hive 表读取到 pandas 时,Apache Arrow OutOfMemoryException
【发布时间】:2019-12-25 19:36:14
【问题描述】:

我搜索了这种错误,但找不到任何有关如何解决它的信息。这是我执行以下两个脚本时得到的结果:

org.apache.arrow.memory.OutOfMemoryException: Failure while allocating memory.

write.py

import pandas as pd
from pyspark.sql import SparkSession
from os.path import abspath

warehouse_location = abspath('spark-warehouse')

booksPD = pd.read_csv('books.csv')

spark = SparkSession.builder \
        .appName("MyApp") \
        .master("local[*]") \
        .config("spark.sql.execution.arrow.enabled", "true") \
        .config("spark.driver.maxResultSize", "16g") \
        .config("spark.python.worker.memory", "16g") \
        .config("spark.sql.warehouse.dir", warehouse_location) \
        .enableHiveSupport() \
        .getOrCreate()
spark.sparkContext.setLogLevel("WARN")

spark.createDataFrame(booksPD).write.saveAsTable("books")
spark.catalog.clearCache()

read.py

from pyspark.sql import SparkSession
from os.path import abspath

warehouse_location = abspath('spark-warehouse')

spark = SparkSession.builder \
        .appName("MyApp") \
        .master("local[*]") \
        .config("spark.sql.execution.arrow.enabled", "true") \
        .config("spark.driver.maxResultSize", "16g") \
        .config("spark.python.worker.memory", "16g") \
        .config("spark.sql.warehouse.dir", warehouse_location) \
        .enableHiveSupport() \
        .getOrCreate()
spark.sparkContext.setLogLevel("WARN")

books = spark.sql("SELECT * FROM books").toPandas()

【问题讨论】:

    标签: pyspark out-of-memory pyspark-sql pyarrow apache-arrow


    【解决方案1】:

    很可能,必须增加内存限制。附加以下配置以增加驱动程序和执行程序内存可以解决我的问题。

    .config("spark.driver.memory", "16g") \
    .config("spark.executor.memory", "16g") \
    

    由于程序配置为在本地模式下运行 (.master("local[*]")),驱动程序也将承担一些负载,并且需要足够的内存。

    【讨论】:

      猜你喜欢
      • 2018-02-15
      • 2020-09-14
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 2019-04-21
      • 2021-08-11
      相关资源
      最近更新 更多