Невозможно записать CSV с помощью склейки из-за ошибки spark.rpc.message.maxSize.Python

Программы на Python
Anonymous
Невозможно записать CSV с помощью склейки из-за ошибки spark.rpc.message.maxSize.

Сообщение Anonymous »

Я пытаюсь прочитать файл xlsx через pandas, преобразовать несколько столбцов и преобразовать его в фрейм данных Spark, а затем пытаюсь записать его как CSV с помощью задания Glue.
Причина использования Spark заключается в том, что сканер Glue каким-то образом не идентифицирует заголовки файлов, написанных с помощью Pandas, даже если заголовки присутствуют. С разделителями проблем тоже нет.
Размер файла составляет около 170 МБ.
Ниже приведен мой код, который считывает и записывает данные. :

Код: Выделить всё

import pandas as pd

spark = (
SparkSession.builder.appName("glue_job_name")
.config("spark.driver.memory", "4g")
.config("spark.driver.extraJavaOptions", "-Duser.timezone=GMT+5:30")
.config("spark.executor.extraJavaOptions", "-Duser.timezone=GMT+5:30")
.getOrCreate()
)
data = pd.read_excel('/Users/sid/Downloads/Jun21toJun2023_delinquency.xlsx', sheet_name="Top States (10)")
data['Pvt.Bank Loans Restructured due to Covid/19 % on Amount'] = data['Pvt.Bank Loans Restructured due to Covid/19 % on Amount'].astype(str)
data['SFB 1+ Delinquency Balance'] = data['SFB 1+ Delinquency Balance'].astype(str)
data['SFB O/S Balance'] = data['SFB O/S Balance'].astype(str)
data['Pvt.Bank Loans Restructured due to Covid/19 Balance'] = data['Pvt.Bank Loans Restructured due to Covid/19 Balance'].astype(str)
data['Pvt.Bank O/S Balance'] = data['Pvt.Bank O/S Balance'].astype(str)
data['Grand Total Loans Restructured due to Covid/19 Balance']=data['Grand Total Loans Restructured due to Covid/19 Balance'].astype(str)
data['Grand Total O/S Balance'] = data['Grand Total O/S Balance'].astype(str)
data_list = data.to_dict(orient="records")
df = spark.createDataFrame(data_list)
df.coalesce(1).write.mode("overwrite").option("header","true").option("inferSchema","true").csv("Jun21toJun2023_delinquency")
и выдает следующую ошибку на AWS Glue:

Код: Выделить всё

Error Category: UNCLASSIFIED_ERROR; An error occurred while calling o126.csv. Job aborted due to stage failure: Serialized task 0:0 was 294005108 bytes, which exceeds max allowed: spark.rpc.message.maxSize (134217728 bytes). Consider increasing spark.rpc.message.maxSize or using broadcast variables for large values.
Подробности о работе по склеиванию:

Код: Выделить всё

Glue 4.0 Version
G 1.X
5 DPUs
Я пытался запустить этот код локально, и он работал нормально, когда я добавил память драйвера. Но когда я запустил тот же код через Glue, это не удалось. Для этого задания журналы не создаются, хотя этот параметр включен. Эта ошибка связана с объединением? Как я могу отладить и исправить эту проблему? Любые подсказки будут оценены по достоинству. ТИА

Подробнее здесь: https://stackoverflow.com/questions/790 ... size-error

Вернуться в «Python»