Databricks SQL ExecuteStatement Failing During Chunked Updates to a Single Cell (Large JSON Field)
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par le chemin SQLAlchemy et Databricks SQL ExecuteStatement décrit dans le rapport, puis reproduisez la séquence d’UPDATE par morceaux à l’aide d’un grand champ JSON. Comparez la taille de la requête au moment de l’échec et examinez la gestion par le connecteur des codes de nouvelle tentative 429 et 503. Le travail est terminé lorsque la limite de requête et une pratique approuvée de mise à jour incrémentielle sont documentées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 233
- Forks
- 152
- Merge moyen
- 21 h 5 min
- PR mergées (30 j)
- 10
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de databricks/databricks-sql-python
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Toutes les issues de databricks/databricks-sql-python
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
canonical/paas-charm#368 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
tech debt
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
addition to tracking list Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
StevenBlack/hosts#3256 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
qualcomm/qai-appbuilder#275 ·