Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.7K
Visualizações
Error OOM de Azure Databricks que hace que se cierre la conexión con Python REPL

En el siguiente código de muestra, en one cell de nuestro cuaderno de Azure Databricks , el código carga alrededor de 20 millones de registros en un dataframe de datos de Python pandas desde una base de datos de Azure SQL db , realiza una transformación de la columna del marco de datos aplicando algunas funciones (como se muestra en el fragmento de código a continuación ). Pero después de ejecutar el código durante aproximadamente media hora, los Databricks arrojan el siguiente error:

Error :

 ConnectException: Connection refused (Connection refused) Error while obtaining a new communication channel ConnectException error: This is often caused by an OOM error that causes the connection to the Python REPL to be closed. Check your query's memory usage.

Observaciones : la tabla tiene alrededor de 150 columnas. La Spark setting en los Databricks es la siguiente: Clúster : 128 GB , 16 Cores, DBR 8.3, Spark 8.3, Scala 2.12

Pregunta : ¿Cuál podría ser la causa del error y cómo podemos solucionarlo?

 import sqlalchemy as sq import pandas as pd def fn_myFunction(lastname): testvar = lastname.lower() testvar = testvar.strip() return testvar pw = dbutils.secrets.get(scope='SomeScope',key='sql') engine = sq.create_engine('mssql+pymssql://SERVICE.Databricks.NONPUBLICETL:'+pw+'MyAzureSQL.database.windows.net:1433/TEST', isolation_level="AUTOCOMMIT") app_df = pd.read_sql('select * from MyTable', con=engine) #create new column app_df['NewColumn'] = app_df['TestColumn'].apply(lambda x: fn_myFunction(x)) ............. .............
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Esto significa que el controlador se bloqueó debido a una excepción OOM (memoria insuficiente) y, después de eso, no puede establecer una nueva conexión con el controlador.

Por favor, pruebe las siguientes opciones

  • Intente aumentar la memoria del lado del controlador y luego vuelva a intentarlo.
  • Puede consultar el dag de trabajo de chispa que le brinda más información sobre el flujo de datos.

Para obtener más información, siga este artículo de Aditi Sinha

over 4 years ago · Santiago Trujillo Relatório

0

Primero, podemos entender la razón más común del problema OOM con el nodo del controlador.

Una causa común de este error es que el controlador está experimentando un cuello de botella en la memoria. Cuando esto sucede, el controlador falla con una condición de falta de memoria (OOM) y se reinicia o deja de responder debido a la frecuente recolección de elementos no utilizados. El motivo del cuello de botella de la memoria puede ser cualquiera de los siguientes:

  • El tipo de instancia del controlador no es óptimo para la carga ejecutada en el controlador.
  • Hay operaciones de uso intensivo de memoria ejecutadas en el controlador.
  • Hay muchos cuadernos o trabajos que se ejecutan en paralelo en el mismo clúster.

¿Por qué sucedió esto en tu caso?

Cuando procesamos conjuntos de datos a través de Pandas , ejecutan operaciones en una sola máquina (nodo de controlador), no como PySpark se ejecuta en varias máquinas. Si está trabajando para manejar conjuntos de datos más grandes, a través de pandas de python, no importa qué tan grande sea el clúster. Por lo tanto, puede aumentar el tamaño de la memoria del nodo del controlador o el procesamiento en modo distribuido.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda