Databricks SQL ExecuteStatement Failing During Chunked Updates to a Single Cell (Large JSON Field)

Abierto
#592 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
python, sql, sqlalchemy
Área
database

Línea de trabajo

Comienza con la ruta de SQLAlchemy y Databricks SQL ExecuteStatement descrita en el informe y, a continuación, reproduce la secuencia de UPDATE por fragmentos usando un campo JSON grande. Compara el tamaño de la solicitud en el momento del fallo e inspecciona cómo el conector gestiona los códigos de reintento 429 y 503. Se considerará terminado cuando se documenten el límite de la solicitud y una práctica aprobada de actualización incremental.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

We’re encountering issues with Databricks SQL when attempting to update a row that contains a large JSON array field. Originally, we tried inserting the entire JSON directly into the column, but this failed due to request size limitations.
To address that, we redesigned the approach to:

  • Split the full JSON into smaller chunks (~100 items)
  • Append each chunk incrementally to the same row/column using separate UPDATE statements
  • Commit each chunk using a new thread and session to ensure SQLAlchemy thread safety

Despite chunking, the request eventually fails when the dmt_data field grows large enough (presumably ~1–2MB compressed). The SQL API returns:

pgsqlCopyEdit(databricks.sql.exc.RequestError) Error during request to server. 
ExecuteStatement command can only be retried for codes 429 and 503 

This confirms that each UPDATE's request body is still exceeding Databricks SQL's internal limits, even though we’re only appending small pieces.
What We’re Looking For:

  • Confirmation of the exact request body size limit for INSERT/UPDATE operations over Databricks SQL
  • Recommended practice for incrementally updating a single JSON column that grows over time
Lenguaje dominante
Python
Estrellas
233
Forks
152
Merge medio
21 h 5 min
PR fusionados (30 d)
10

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de databricks/databricks-sql-python

Todos los issues de databricks/databricks-sql-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.