Я работаю с pyspark, подключенным к экземпляру AWS (r5d.xlarge 4 виртуальных ЦП 32 ГБ), работающему с базой данных 25 ГБ, при запуске некоторых таблиц я получаю сообщение об ошибке:
Py4JJavaError: Произошла ошибкаво время вызова o57.showString.: org.apache.spark.SparkException: задание прервано из-за сбоя этапа: задание 0 на этапе 0.0 не выполнено 1 раз, последний сбой: потерянное задание 0.0 на этапе 0.0 (TID 0, localhost, драйвер исполнителя): java.lang.OutOfMemoryError: Превышен лимит накладных расходов GC
Я попытался найти ошибку для себя, но, к сожалению, информации по этому вопросу немного.
code
from pyspark.sql import SparkSession
spark = SparkSession.builder.master('local').\
config('spark.jars.packages', 'mysql:mysql-connector-java:5.1.44').\
appName('test').getOrCreate()
df = spark.read.format('jdbc').\
option('url', 'jdbc:mysql://xx.xxx.xx.xxx:3306').\
option('driver', 'com.mysql.jdbc.Driver').\
option('user', 'xxxxxxxxxxx').\
option('password', 'xxxxxxxxxxxxxxxxxxxx').\
option('dbtable', 'dbname.tablename').\
load()
df.printSchema()
здесь я получаю printSchema, но затем:
df_1 = df.select(['col1', 'col2', 'col3', 'col4',
'col4', 'col5', 'col6']).show()
Py4JJavaError: An error occurred while calling o57.showString.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task
in stage 0.0 failed 1 times, most recent failure: Lost task 0.0 in stage
0.0 (TID 0, localhost, executor driver): java.lang.OutOfMemoryError: GC
overhead limit exceeded
Кто-нибудь знает, как я могу решить эту проблему?