2 votes

Comment insérer 38 000 enregistrements dans bigquery en utilisant le streaming ?

J'essaie d'insérer 38000 enregistrements dans bigquery en utilisant la méthode Streaming inserAll. Mais j'obtiens d'abord l'erreur suivante : L'opération d'insertion n'a pas été effectuée com.google.cloud.bigquery.BigQueryException : Read timed out puis j'augmente le temps d'attente comme indiqué ci-dessous : RetrySettings retrySetting = RetrySettings.newBuilder().setTotalTimeout(Duration.ofMinutes(90)).build() ; BigQueryOptions bigqueryOptions = BigQueryOptions.newBuilder().setRetrySettings(retrySetting).build() ; BigQuery bigquery = bigqueryOptions.getDefaultInstance().getService() ;

puis j'obtiens l'erreur suivante : L'opération d'insertion n'a pas été effectuée com.google.cloud.bigquery.BigQueryException : Réinitialisation de la connexion

Veuillez m'aider, comment insérer tous les enregistrements dans bigquery.

1voto

Sergey Geron Points 4890

Peut-être que vous frappez limites :

Nombre maximal de lignes par demande : 10 000 lignes par demande

Un maximum de 500 rangées est recommandé. La mise en lots peut augmenter les performances et le débit jusqu'à un certain point, mais au prix d'une latence par requête. Trop peu de lignes par requête et les frais généraux de chaque requête peuvent rendre l'ingestion inefficace. Si le nombre de lignes par requête est trop élevé, le débit peut chuter.

Un maximum de 500 lignes par requête est recommandé, mais l'expérience montre qu'il n'est pas possible d'atteindre cet objectif. avec des données représentatives (schémas et tailles de données) vous aidera à déterminer la taille idéale du lot.

Essayez de diviser les données en morceaux.

-1voto

Vibhor Gupta Points 584

La meilleure approche pour vous est d'identifier un fichier sur lequel vous pouvez créer différents Custer de données. Une fois que vous avez identifié les différents clusters basés sur le fichier identifié (par ex. id, date, etc.), essayez de charger les données de chaque cluster individuellement. A condition que les données de chaque cluster soient inférieures à la limite maximale de (10K). Vous devez également vous assurer que chaque nombre n de données de cluster doit être chargé simultanément.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X