Databricks SQL ExecuteStatement Failing During Chunked Updates to a Single Cell (Large JSON Field)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
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
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de databricks/databricks-sql-python
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Todos los issues de databricks/databricks-sql-python
Issues similares
-
fix: inaccuracy ⚠️
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
uabrc/uabrc.github.io#1255 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
ethereum-optimism/factory#64 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
duckdb/duckdb-python#627 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Add link for tutorial Abiertodocumentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
Qiskit/qiskit-addon-sqd#376 ·