Ich führe Redshift-Abfragen mit Metabase als Front-End. Ich möchte lange laufende Abfragen für einen bestimmten Benutzer erkennen und abbrechen. Wie automatisiere ich diesen Prozess mit einem Skript?Redshift: Erkennen und Abbrechen von lang laufenden Abfragen pro Benutzerverbindung
Antwort
Dies kann als Cluster-Konfigurationsparameter auf Cluster- oder Workload-Ebene festgelegt werden. Workload ist eine separate Abfragewarteschlange, die bestimmten Benutzern zugeordnet ist und die Menge der Clusterressourcen definiert, die verwendet werden dürfen.
mehr über Abfrage Lesen Timeouts hier: statement_timeout und WLM Timeout
Allgemeine Informationen über hier Workload-Management: Configuring Workload Management
Schreiben Sie ein Skript und fragen Sie die Tabelle stv_recents. Es hat pid
und duration
(in Mikrosekunden).
Wenn eine Abfrage den Schwellenwert (in Bezug auf die Dauer) überschreitet, führen Sie cancel pid
aus.
Sie können dieses Skript in eine Crontab einfügen und es in regelmäßigen Abständen ausführen.
Es gibt keine Notwendigkeit, dies selbst zu schreiben!
können Sie Redshift integrierten verwenden in Query Überwachungsregeln („QMB“) Abfragen zu steuern, nach einer Reihe von Metriken wie return_row_count
, query_execution_time
und query_blocks_read
(unter anderem).
Abfragen, die die in Ihren Regeln definierten Grenzwerte überschreiten, können entweder log
(keine Aktion), hop
(in eine andere Warteschlange verschieben) oder abort
(die Abfrage wird beendet).
Weitere Informationen finden Sie in den Redshift-Dokumenten: "WLM Query Monitoring Rules"
- 1. pausieren, fortsetzen, abbrechen und auflösen von lang laufenden Versprechen
- 2. Abbrechen lang laufenden TFDBatchMove während der Ausführung
- 3. Leichte lang laufenden Verfahren Muster
- 4. MySQL Indizierung lang laufenden Abfragen - Sind Schlüssel verwendet?
- 5. JSON-Array in Redshift abfragen?
- 6. Redshift kombinieren zwei Abfragen
- 7. Benchmarking Redshift Abfragen
- 8. Python - Ausgabe von lang laufenden Subprozess lesen
- 9. Simulation von lang laufenden Oracle DB-Abfrage
- 10. Abbrechen einer laufenden Firebase-Datenbankanforderung
- 11. Xamarin.forms lang laufenden Hintergrund Arbeit
- 12. Beginn und Überwachung des Fortschritts bei lang laufenden SQL-Abfragen über Ajax
- 13. So beschleunigen Sie Redshift-Abfragen
- 14. jenkins: 2 Arten von Benutzerverbindung
- 15. am längsten laufenden Abfrage pro Datenbank
- 16. Wie gehe ich mit lang laufenden Jobs auf Heroku um?
- 17. Absichtlich Erstellen einer lang laufenden MySQL-Abfrage
- 18. Kommunikation mit lang laufenden Aufgaben in Python
- 19. Sicheres Backup eines lang laufenden Ruby-Prozesses
- 20. Nachrüstung 2/OkHttp: Alle laufenden Anfragen abbrechen
- 21. Struts2 JMS-Anfrage Verarbeitung lang laufenden Prozess
- 22. Apache Spark-Streaming - Timeout lang laufenden Batch
- 23. Python - Stoppen einer lang laufenden Taskq Thread
- 24. ImageSourceConverter.ConvertFromString verlangsamt in lang laufenden Anwendung
- 25. JAVA - Abbrechen der ThreadPoolExecutor laufenden Aufgaben
- 26. Angular2 Speicherleck auf lang laufenden Abonnement
- 27. WebLogic Introspection/Domain-Informationen von einem laufenden Servlet abfragen
- 28. Orchestrierung Abbruch in lang laufenden Komponententest
- 29. Abbrechen einer langen laufenden Task-Verzögerung
- 30. programmgesteuert ausführen und einen lang laufenden Batch-Prozess in Python