Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Workload-Management
In Amazon Redshift verwenden Sie Workload Management (WLM), um die Anzahl der verfügbaren Abfragewarteschlangen zu definieren und zu definieren, wie Abfragen zur Verarbeitung an diese Warteschlangen weitergeleitet werden. WLMist Teil der Parametergruppenkonfiguration. Ein Cluster verwendet die WLM Konfiguration, die in der zugehörigen Parametergruppe angegeben ist.
Wenn Sie eine Parametergruppe erstellen, enthält die WLM Standardkonfiguration eine Warteschlange, die bis zu fünf Abfragen gleichzeitig ausführen kann. Sie können zusätzliche Warteschlangen hinzufügen und in jeder von ihnen WLM Eigenschaften konfigurieren, wenn Sie mehr Kontrolle über die Abfrageverarbeitung haben möchten. Jede Warteschlange, die Sie hinzufügen, hat dieselbe WLM Standardkonfiguration, bis Sie ihre Eigenschaften konfigurieren.
Wenn Sie weitere Warteschlangen hinzufügen, ist die letzte Warteschlange in der Konfiguration die Standardwarteschlange. Sofern eine Abfrage nicht aufgrund von Kriterien in der WLM Konfiguration an eine andere Warteschlange weitergeleitet wird, wird sie von der Standardwarteschlange verarbeitet. Sie können für die Standardwarteschlange Modus und Nebenläufigkeitsstufe (Abfrageslots) angeben, jedoch keine Benutzer- oder Abfragegruppen.
Wie bei anderen Parametern können Sie die WLM Konfiguration in der Standardparametergruppe nicht ändern. Cluster, die der Standardparametergruppe zugeordnet sind, verwenden immer die WLM Standardkonfiguration. Um die WLM Konfiguration zu ändern, erstellen Sie eine neue Parametergruppe und ordnen Sie diese Parametergruppe dann allen Clustern zu, für die Ihre benutzerdefinierte WLM Konfiguration erforderlich ist.
WLMdynamische und statische Eigenschaften
Die WLM Konfigurationseigenschaften sind entweder dynamisch oder statisch. Sie können dynamische Eigenschaften ohne Neustart des Clusters auf die Datenbank anwenden. Statische Eigenschaften erfordern jedoch einen Neustart des Clusters, damit die Änderungen wirksam werden. Weitere Informationen zu statischen und dynamischen Eigenschaften finden Sie unter WLMdynamische und statische Konfigurationseigenschaften.
Eigenschaften für den WLM Konfigurationsparameter
Sie können die Konfiguration WLM mithilfe der Amazon Redshift Redshift-Konsole vornehmen, AWS CLI, der Amazon Redshift API oder einer der AWS SDKs. WLMDie Konfiguration verwendet mehrere Eigenschaften, um das Verhalten von Warteschlangen zu definieren, z. B. die Speicherzuweisung zwischen Warteschlangen, die Anzahl der Abfragen, die gleichzeitig in einer Warteschlange ausgeführt werden können, usw.
Anmerkung
Die folgenden Eigenschaften werden mit ihren Amazon Redshift Redshift-Konsolennamen und den entsprechenden JSON Eigenschaftsnamen in den Beschreibungen angezeigt.
In der folgenden Tabelle wird zusammengefasst, ob eine Eigenschaft für automatische WLM oder manuelle Eigenschaften gilt. WLM
WLMEigenschaft | Automatisch WLM | Manuell WLM |
---|---|---|
Automatisch WLM | Ja | Ja |
Aktivieren der Beschleunigung kurzer Abfragen | Ja | Ja |
Maximale Laufzeit für kurze Abfragen | Ja | Ja |
Priorität | Ja | Nein |
Warteschlangentyp | Ja | Ja |
Queue name (Name der Warteschlange) | Ja | Ja |
Concurrency Scaling mode (Nebenläufigkeitsskalierungsmodus) | Ja | Ja |
Nebenläufigkeit | Nein | Ja |
Benutzergruppen | Ja | Ja |
Benutzergruppenplatzhalter | Ja | Ja |
Abfragegruppen | Ja | Ja |
Abfragegruppenplatzhalter | Ja | Ja |
Benutzerrollen | Ja | Ja |
Platzhalter für die Benutzerrolle | Ja | Ja |
Zeitüberschreitung | Nein | Als veraltet gekennzeichnet |
Arbeitsspeicher | Nein | Ja |
Query Monitoring Rules (Abfrageüberwachungsregeln) | Ja | Ja |
In der folgenden Liste werden die WLM Eigenschaften beschrieben, die Sie konfigurieren können.
- Automatisch WLM
-
Automatisch WLM eingestellt, um
true
Automatik zu aktivierenWLM. Automatisch WLM legt die Werte für Parallelität im Hauptspeicher und Arbeitsspeicher (%) aufAuto
fest. Amazon Redshift verwaltet die Abfragenebenläufigkeit und die Arbeitsspeicherzuweisung. Der Standardwert isttrue
.JSONEigenschaft:
auto_wlm
- Aktivieren von Short Query Acceleration
-
Short Query Acceleration (SQA) priorisiert ausgewählte Abfragen mit kurzer Laufzeit vor Abfragen mit längerer Laufzeit. SQAführt Abfragen mit kurzer Laufzeit in einem dafür vorgesehenen Bereich aus, sodass Abfragen nicht gezwungen sind, hinter SQA längeren Abfragen in Warteschlangen zu warten. Mit SQA werden Abfragen mit kurzer Laufzeit schneller ausgeführt und Benutzer sehen schneller Ergebnisse. Wenn Sie diese SQA Option aktivieren, können Sie auch die maximale Laufzeit für kurze Abfragen angeben. Um zu aktivierenSQA, geben Sie an
true
. Der Standardwert istfalse
. Diese Einstellung wird für die einzelnen Parametergruppen, nicht für die Warteschlangen angewendet.JSONEigentum:
short_query_queue
- Maximum run time for short queries (Maximale Laufzeit für kurze Abfragen)
-
Wenn Sie die SQA Option aktivieren, können Sie 0 angeben, damit die maximale Laufzeit für kurze Abfragen WLM dynamisch festgelegt wird. Alternativ können Sie einen Wert zwischen 1 und 20 Sekunden in Millisekunden angeben. Der Standardwert ist
0
.JSONEigenschaft:
max_execution_time
- Priority (Priorität)
-
Im Feld „Priority“ (Priorität) wird die Priorität der Abfragen festgelegt, die in einer Warteschlange ausgeführt werden. Um die Priorität festzulegen, muss der WLMModus auf Auto gesetzt seinWLM; das heißt, es
auto_wlm
muss seintrue
. Die Prioritätswerte könnenhighest
,high
,normal
,low
undlowest
sein. Der Standardwert istnormal
.JSONEigenschaft:
priority
- Queue type (Warteschlangentyp)
-
Der Warteschlangentyp bezeichnet eine Warteschlange, die entweder von Auto WLM oder Manuell verwendet wird. WLM Legen Sie
queue_type
aufauto
odermanual
fest. Wenn nichts angegeben ist, ist der Standardwertmanual
.JSONEigenschaft:
queue_type
- Queue name (Name der Warteschlange)
-
Der Name der Warteschlange. Sie können den Namen der Warteschlange entsprechend Ihren geschäftlichen Anforderungen festlegen. Warteschlangennamen müssen innerhalb einer WLM Konfiguration eindeutig sein, aus bis zu 64 alphanumerischen Zeichen, Unterstrichen oder Leerzeichen bestehen und dürfen keine Anführungszeichen enthalten. Wenn Sie beispielsweise eine Warteschlange für Ihre ETL Abfragen haben, können Sie ihr einen Namen geben.
ETL queue
Dieser Name wird in Metriken, Systemtabellenwerten und in der Amazon-Redshift-Konsole zur Identifizierung der Warteschlange verwendet. Abfragen und Berichte, die den Namen aus diesen Quellen verwenden, müssen Änderungen des Namens verarbeiten können. Zuvor wurden die Warteschlangennamen von Amazon Redshift generiert. Die Standardnamen von Warteschlangen sindQueue 1
,Queue 2
bis zur letzten Warteschlange mit dem NamenDefault queue
.Wichtig
Wenn Sie einen Warteschlangennamen ändern, ändert sich auch der
QueueName
Dimensionswert der WLM Warteschlangenmetriken (wie WLMQueueLength WLMQueueWaitTime WLMQueriesCompletedPerSecond WLMQueryDurationWLMRunningQueries,,,,, usw.). Wenn Sie also den Namen einer Warteschlange ändern, müssen Sie möglicherweise die von Ihnen eingerichteten CloudWatch Alarme ändern.JSONEigenschaft:
name
- Concurrency Scaling mode (Nebenläufigkeitsskalierungsmodus)
-
Zur Aktivierung der Nebenläufigkeitsskalierung für eine Warteschlange setzen Sie Concurrency Scaling mode (Nebenläufigkeitsskalierungsmodus) auf
auto
. Wenn die Anzahl der an eine Warteschlange geleiteten Abfragen die konfigurierte Nebenläufigkeit der Warteschlange überschreitet, werden berechtigte Abfragen an den Skalierungs-Cluster gesendet. Wenn Slots verfügbar werden, werden Abfragen auf dem Haupt-Cluster ausgeführt. Der Standardwert istoff
.JSONEigentum:
concurrency_scaling
- Concurrency (Nebenläufigkeit)
-
Die Anzahl der Abfragen, die gleichzeitig in einer manuellen WLM Warteschlange ausgeführt werden können. Diese Eigenschaft gilt nur für manuellWLM. Wenn für eine Warteschlange die Nebenläufigkeitsskalierung aktiviert ist, werden berechtigte Abfragen an einen Skalierungs-Cluster gesendet, wenn eine Warteschlange die Nebenläufigkeitsstufe (Abfrageslots) erreicht hat. Wenn die Nebenläufigkeitsskalierung nicht aktiviert ist, warten Abfragen in der Warteschlange, bis ein Slot verfügbar wird. Der Bereich liegt zwischen 1 und 50.
JSONEigenschaft:
query_concurrency
- User Groups (Benutzergruppen)
-
Eine durch Kommata getrennte Liste von Benutzergruppennamen. Wenn Mitglieder der Benutzergruppe Abfragen in der Datenbank ausführen, werden deren Abfragen zu der Warteschlange geleitet, die zu der Benutzergruppe gehört.
JSONEigentum:
user_group
- User Group Wildcard (Benutzergruppenplatzhalter)
-
Ein boolescher Wert, der angibt, ob Platzhalter für Benutzergruppen aktiviert werden sollen. Beim Wert 0 werden Platzhalter deaktiviert, beim Wert 1 werden sie aktiviert. Wenn Platzhalter aktiviert sind, können Sie „*“ oder „?“ verwenden, um beim Ausführen von Abfragen mehrere Benutzergruppen anzugeben. Weitere Informationen finden Sie unter Platzhalter.
JSONEigentum:
user_group_wild_card
- Query Groups (Abfragegruppen)
-
Eine durch Kommata abgeteilte Liste von Abfragegruppen. Wenn Mitglieder der Abfragegruppe Abfragen in der Datenbank ausführen, werden deren Abfragen zu der Warteschlange geleitet, die zu der Abfragegruppe gehört.
JSONEigentum:
query_group
- Query Group Wildcard (Abfragegruppenplatzhalter)
-
Ein boolescher Wert, der angibt, ob Platzhalter für Abfragegruppen aktiviert werden sollen. Beim Wert 0 werden Platzhalter deaktiviert, beim Wert 1 werden sie aktiviert. Wenn Platzhalter aktiviert sind, können Sie „*“ oder „?“ verwenden, um beim Ausführen von Abfragen mehrere Abfragegruppen anzugeben. Weitere Informationen finden Sie unter Platzhalter.
JSONEigentum:
query_group_wild_card
- Benutzerrollen
-
Eine durch Kommata getrennte Liste von Benutzerrollen. Wenn Mitglieder mit dieser Benutzerrolle Abfragen in der Datenbank ausführen, werden deren Abfragen zu der Warteschlange geleitet, die zu ihrer Benutzerrolle gehört. Weitere Informationen zu Benutzerrollen finden Sie unter Rollenbasierte Zugriffskontrolle () RBAC.
JSONEigenschaft:
user_role
- Platzhalter für die Benutzerrolle
-
Ein boolescher Wert, der angibt, ob Platzhalter für Abfragegruppen aktiviert werden sollen. Beim Wert 0 werden Platzhalter deaktiviert, beim Wert 1 werden sie aktiviert. Wenn Platzhalter aktiviert sind, können Sie „*“ oder „?“ verwenden, um beim Ausführen von Abfragen mehrere Abfragegruppen anzugeben. Weitere Informationen finden Sie unter Platzhalter.
JSONEigentum:
user_role_wild_card
- Timeout (ms)
-
WLMtimeout (
max_execution_time
) ist veraltet. Es ist nicht verfügbar, wenn automatisch verwendet wird. WLM Erstellen Sie stattdessen eine Regel zur Abfrageüberwachung (QMR), mit derquery_execution_time
Sie die abgelaufene Ausführungszeit für eine Abfrage einschränken können. Weitere Informationen finden Sie unter Regeln zur WLMAbfrageüberwachung.Die maximale Zeit, in Millisekunden, für die Abfragen ausgeführt werden können, bevor sie abgebrochen werden. In einigen Fällen kann eine schreibgeschützte Abfrage, z. B. eine SELECT Anweisung, aufgrund eines WLM Timeouts abgebrochen werden. In diesen Fällen wird WLM versucht, die Abfrage auf der Grundlage der Warteschlangenzuweisungsregeln an die nächste passende Warteschlange WLM weiterzuleiten. Wenn die Abfrage keiner anderen Warteschlangendefinition entspricht, wird sie abgebrochen und nicht der Standardwarteschlange zugewiesen. Weitere Informationen finden Sie unter WLMQueue-Hopping bei Abfragen. WLMDas Timeout gilt nicht für eine Abfrage, die den
returning
Status erreicht hat. Den Status einer Abfrage finden Sie in der STATE Systemtabelle STVWLM_ QUERY _ _.JSONEigenschaft:
max_execution_time
- Memory (%) (Arbeitsspeicher)
-
Der Prozentsatz des Speicherplatzes, der der Warteschlange zuzuweisen ist. Wenn Sie für mindestens eine der Warteschlangen einen Speicherprozentsatz festlegen, müssen Sie einen Prozentsatz für alle weiteren Warteschlangen bis zu einem Gesamtwert von 100 Prozent angeben. Wenn die Speicherzuweisung für alle Warteschlangen unter 100 Prozent liegt, wird der nicht zugewiesene Speicher vom Service verwaltet. Der Service kann den nicht zugewiesenen Speicher vorübergehend der Warteschlange zur Verfügung stellen, die zusätzlichen Speicher zur Verarbeitung benötigt.
JSONEigentum:
memory_percent_to_use
- Query Monitoring Rules (Abfrageüberwachungsregeln)
-
Sie können Regeln zur WLM Abfrageüberwachung verwenden, um Ihre WLM Warteschlangen kontinuierlich auf Abfragen zu überprüfen, die auf von Ihnen angegebenen Kriterien oder Prädikaten basieren. Sie können beispielsweise Abfragen überwachen, die dazu neigen, ein Übermaß an Systemressourcen zu beanspruchen, und dann eine angegebene Aktion initiieren, wenn eine Anfrage die von Ihnen angegebenen Leistungsgrenzen verletzt.
Anmerkung
Wenn Sie Regeln programmgesteuert erstellen möchten, empfehlen wir dringend, die Konsole zu verwenden, um die Regeln zu generieren, die Sie in JSON die Parametergruppendefinition aufnehmen.
Sie weisen eine Abfrageüberwachungsregel einer bestimmten Abfragewarteschlange zu. Sie können bis zu 25 Regeln pro Warteschlange und insgesamt 25 Regeln für alle Warteschlangen festlegen.
JSONEigenschaft:
rules
JSONHierarchie der Eigenschaften:
rules rule_name predicate metric_name operator value action value
Für jede Regel geben Sie die folgenden Eigenschaften an:
-
rule_name
— Regelnamen müssen innerhalb der WLM Konfiguration eindeutig sein. Regelnamen können aus bis zu 32 alphanumerischen Zeichen oder Unterstrichen bestehen und dürfen keine Leerzeichen oder Anführungszeichen enthalten.-
predicate
– Sie können bis zu drei Prädikate pro Regel verwenden. Für jedes Prädikat geben Sie die folgenden Eigenschaften an.-
metric_name
– Eine Liste der Metriken finden Sie unter Abfrageüberwachungsmetriken im Datenbankentwicklerhandbuch zu Amazon Redshift. -
operator
– Vorgänge sind=
,<
und>
. -
value
– Der Schwellenwert für die angegebene Metrik, der eine Aktion auslöst.
-
-
-
action
– Jede Regel ist einer einzigen Aktion zugeordnet. Gültige Aktionen sind:-
log
-
hop
(nur mit Handbuch verfügbarWLM) -
abort
-
change_query_priority
(nur mit Automatik erhältlichWLM)
-
Das folgende Beispiel zeigt die JSON für eine WLM Abfrage benannte
rule_1
Überwachungsregel mit zwei Prädikaten und der Aktion.hop
"rules": [ { "rule_name": "rule_1", "predicate": [ { "metric_name": "query_execution_time", "operator": ">", "value": 100000 }, { "metric_name": "query_blocks_read", "operator": ">", "value": 1000 } ], "action": "hop" } ]
-
Weitere Informationen zu den einzelnen Eigenschaften und Strategien für die Konfiguration von Abfragewarteschlangen finden Sie unter Implementierung von Workload Management im Datenbankentwicklerhandbuch zu Amazon Redshift.
Konfiguration des WLM Parameters mit dem AWS CLI
Zur Konfiguration WLM ändern Sie den wlm_json_configuration
Parameter. Die maximale Größe des wlm_json_configuration
-Eigenschaftswerts beträgt 8 000 Zeichen. Der Wert ist in JavaScript Object Notation (JSON) formatiert. Wenn Sie die Konfiguration WLM mit dem AWS CLI, Amazon Redshift API oder einer der AWS SDKs, verwenden Sie den Rest dieses Abschnitts, um zu erfahren, wie Sie die JSON Struktur für den wlm_json_configuration
Parameter erstellen.
Anmerkung
Wenn Sie die Konfiguration WLM mithilfe der Amazon Redshift Redshift-Konsole durchführen, müssen Sie sich nicht mit JSON Formatierung auskennen, da die Konsole eine einfache Möglichkeit bietet, Warteschlangen hinzuzufügen und ihre Eigenschaften zu konfigurieren. Weitere Informationen zur Konfiguration WLM mithilfe der Konsole finden Sie unter. Modifizieren einer Parametergruppe
Beispiel
Das folgende Beispiel ist die WLM Standardkonfiguration, die eine Warteschlange mit Automatik definiertWLM.
{ "auto_wlm": true }
Beispiel
Das folgende Beispiel ist eine benutzerdefinierte WLM Konfiguration, die eine manuelle WLM Warteschlange mit einer Parallelitätsebene (Abfrageslots) von fünf definiert.
{ "query_concurrency":5 }
Syntax
Die WLM Standardkonfiguration ist sehr einfach und enthält nur eine Warteschlange und eine Eigenschaft. Sie können weitere Warteschlangen hinzufügen und mehrere Eigenschaften für jede Warteschlange in der JSON Struktur konfigurieren. Die folgende Syntax stellt die JSON Struktur dar, die Sie verwenden, um mehrere Warteschlangen mit mehreren Eigenschaften zu konfigurieren:
[ { "ParameterName":"wlm_json_configuration", "ParameterValue": "[ { "
q1_first_property_name
":"q1_first_property_value
", "q1_second_property_name
":"q1_second_property_value
", ... }, { "q2_first_property_name
":"q2_first_property_value
", "q2_second_property_name
":"q2_second_property_value
", ... } ... ]" } ]
Im vorherigen Beispiel sind die repräsentativen Eigenschaften, die mit q1 beginnen, Objekte in einem Array für die erste Warteschlange. Jedes dieser Objekte ist ein Name/Wert-Paar. value
Zusammen legen sie name
die WLM Eigenschaften für die erste Warteschlange fest. Die repräsentativen Eigenschaften, die mit q2 beginnen, sind Objekte in einem Array für die zweite Warteschlange. Wenn Sie mehr Warteschlangen benötigen, fügen Sie ein weiteres Array für jede weitere Warteschlange hinzu und richten die Eigenschaften für jedes Objekt ein.
Wenn Sie die WLM Konfiguration ändern, müssen Sie die gesamte Struktur Ihrer Warteschlangen berücksichtigen, auch wenn Sie nur eine Eigenschaft innerhalb einer Warteschlange ändern möchten. Das liegt daran, dass die gesamte JSON Struktur als Zeichenfolge als Wert für den wlm_json_configuration
Parameter übergeben wird.
Formatieren der AWS CLI command
Der wlm_json_configuration
Parameter erfordert ein bestimmtes Format, wenn Sie den AWS CLI. Welches Format Sie verwenden, hängt von Ihrem Client-Betriebssystem ab. Betriebssysteme haben unterschiedliche Möglichkeiten, die JSON Struktur einzuschließen, sodass sie korrekt von der Befehlszeile aus übergeben wird. Für Einzelheiten zur Konstruktion des korrekten Befehls unter Linux, Mac OS X und Windows vgl. die folgenden Abschnitte. Weitere Informationen zu den Unterschieden beim Einschließen von JSON Datenstrukturen finden Sie in AWS CLI allgemein finden Sie unter Zeichenketten zitieren in der AWS Command Line Interface Benutzerleitfaden.
Beispiele
Der folgende Beispielbefehl konfiguriert manuell WLM für eine Parametergruppe namensexample-parameter-group
. Die Konfiguration ermöglicht die Beschleunigung kurzer Abfragen, wobei die maximale Laufzeit für kurze Abfragen auf 0 gesetzt ist, was anweist, den WLM Wert dynamisch festzulegen. Die ApplyType
-Einstellung lautet dynamic
. Diese Einstellung bedeutet, dass alle an dynamischen Eigenschaften in dem Parameter vorgenommenen Änderungen sofort angewendet werden, sofern keine anderen statischen Änderungen an der Konfiguration vorgenommen wurden. Die Konfiguration definiert drei Warteschlangen mit:
-
Die erste Warteschlange ermöglicht Benutzern,
report
als Beschriftung (wie in der Eigenschaftquery_group
angegeben) in ihren Abfragen anzugeben, um die Abfragen leichter zu dieser Warteschlange weiterleiten zu können. Platzhaltersuchen sind für die Beschriftungreport*
aktiviert, so dass die Beschriftung nicht exakt sein muss, damit Abfragen zur Warteschlange geleitet werden. Beispielsweise entsprechen sowohlreports
als auchreporting
dieser Abfragegruppe. Der Warteschlange sind 25 Prozent des gesamten Speicherplatzes für alle Warteschlangen zugewiesen, und es können bis zu vier Abfragen gleichzeitig ausgeführt werden. Abfragen sind auf eine maximale Ausführungszeit von 20 000 Millisekunden (ms) begrenzt. Der Modus ist auf automatisch festgelegt. Berechtigte Abfragen werden daher an ein Skalierungs-Cluster gesendet, wenn die Abfrage-Slots der Warteschlange gefüllt sind. -
Die zweite Warteschlange ermöglicht Benutzern, die Mitglieder der Gruppe
admin
oderdba
in der Datenbank sind, ihre Abfragen zur Verarbeitung zu der Warteschlange weiterzuleiten. Platzhaltersuchen sind für Benutzergruppen deaktiviert, die Benutzer müssen daher exakt Gruppen in der Datenbank entsprechen, damit ihre Abfragen zu der Warteschlange geleitet werden. Der Warteschlange werden 40 Prozent des gesamten Speicherplatzes für alle Warteschlangen zugeteilt. Sie kann bis zu fünf Abfragen gleichzeitig ausführen. Der Modus ist auf „Off“ (Aus) festgelegt. Daher werden alle Abfragen, die von Mitgliedern der Administrator- oder DBA-Gruppe gesendet werden, auf dem Haupt-Cluster ausgeführt. -
Die letzte Warteschlange in der Konfiguration ist die Standard-Warteschlange. Dieser Warteschlange sind 35 Prozent des gesamten Speicherplatzes für alle Warteschlangen zugewiesen. Sie kann bis zu fünf Abfragen gleichzeitig verarbeiten. Der Modus ist auf „Auto“ (Automatisch) festgelegt.
Anmerkung
Das Beispiel wird zu Demonstrationszwecken auf mehreren Zeilen angezeigt. Die tatsächlichen Befehle haben jedoch keine Zeilenumbrüche.
aws redshift modify-cluster-parameter-group --parameter-group-name example-parameter-group --parameters '[ { "query_concurrency": 4, "max_execution_time": 20000, "memory_percent_to_use": 25, "query_group": ["report"], "query_group_wild_card": 1, "user_group": [], "user_group_wild_card": 0, "user_role": [], "user_role_wild_card": 0, "concurrency_scaling": "auto", "queue_type": "manual" }, { "query_concurrency": 5, "memory_percent_to_use": 40, "query_group": [], "query_group_wild_card": 0, "user_group": [ "admin", "dba" ], "user_group_wild_card": 0, "user_role": [], "user_role_wild_card": 0, "concurrency_scaling": "off", "queue_type": "manual" }, { "query_concurrency": 5, "query_group": [], "query_group_wild_card": 0, "user_group": [], "user_group_wild_card": 0, "user_role": [], "user_role_wild_card": 0, "concurrency_scaling": "auto", "queue_type": "manual" }, {"short_query_queue": true} ]'
Im Folgenden finden Sie ein Beispiel für die Konfiguration von Regeln zur WLM Abfrageüberwachung für eine automatische WLM Konfiguration. In diesem Beispiel wird eine Parametergruppe mit dem Namen example-monitoring-rules
erstellt. Die Konfiguration definiert die gleichen drei Warteschlangen wie im vorherigen Beispiel. query_concurrency
und memory_percent_to_use
werden jedoch nicht mehr angegeben. Die Konfiguration fügt darüber hinaus die folgenden Regeln und Abfrageprioritäten hinzu:
-
Die erste Warteschlange definiert eine Regel mit der Bezeichnung
rule_1
. Die Regel hat zwei Prädikate:query_cpu_time > 10000000
undquery_blocks_read > 1000
. Die Regelaktion istlog
. Diese Warteschlange hat die PrioritätNormal
. -
Die zweite Warteschlange definiert eine Regel mit dem Namen
rule_2
. Die Regel hat zwei Prädikate:query_execution_time > 600000000
undscan_row_count > 1000000000
. Die Regelaktion istabort
. Diese Warteschlange hat die PrioritätHighest
. -
Die letzte Warteschlange in der Konfiguration ist die Standard-Warteschlange. Diese Warteschlange hat die Priorität
Low
.
Anmerkung
Das Beispiel wird zu Demonstrationszwecken auf mehreren Zeilen angezeigt. Die tatsächlichen Befehle haben jedoch keine Zeilenumbrüche.
aws redshift modify-cluster-parameter-group --parameter-group-name example-monitoring-rules --parameters '[ { "query_group" : [ "report" ], "query_group_wild_card" : 1, "user_group" : [ ], "user_group_wild_card" : 0, "user_role": [ ], "user_role_wild_card": 0, "concurrency_scaling" : "auto", "rules" : [{ "rule_name": "rule_1", "predicate": [{ "metric_name": "query_cpu_time", "operator": ">", "value": 1000000 }, { "metric_name": "query_blocks_read", "operator": ">", "value": 1000 } ], "action" : "log" } ], "priority": "normal", "queue_type": "auto" }, { "query_group" : [ ], "query_group_wild_card" : 0, "user_group" : [ "admin", "dba" ], "user_group_wild_card" : 0, "user_role": [ ], "user_role_wild_card": 0, "concurrency_scaling" : "off", "rules" : [ { "rule_name": "rule_2", "predicate": [ {"metric_name": "query_execution_time", "operator": ">", "value": 600000000}, {"metric_name": "scan_row_count", "operator": ">", "value": 1000000000}], "action": "abort"}], "priority": "high", "queue_type": "auto" }, { "query_group" : [ ], "query_group_wild_card" : 0, "user_group" : [ ], "user_group_wild_card" : 0, "user_role": [ ], "user_role_wild_card": 0, "concurrency_scaling" : "auto", "priority": "low", "queue_type": "auto", "auto_wlm": true }, { "short_query_queue" : true } ]'
Konfiguration WLM mit dem AWS CLI in der Befehlszeile mit einer JSON Datei
Sie können den wlm_json_configuration
Parameter ändern, indem Sie AWS CLI und den Wert des parameters
Arguments als JSON Datei übergeben.
aws redshift modify-cluster-parameter-group --parameter-group-name myclusterparaametergroup --parameters file://modify_pg.json
Die Argumente für --parameters
werden in der Datei modify_pg.json
gespeichert: Der Speicherort der Datei wird in dem Format für Ihr Betriebssystem angegeben. Weitere Informationen finden Sie unter Laden von Parametern aus einer Datei. Im Folgenden werden Beispiele für den Inhalt der modify_pg.json
JSON Datei gezeigt.
[ { "ParameterName": "wlm_json_configuration", "ParameterValue": "[{\"user_group\":\"example_user_group1\",\"query_group\": \"example_query_group1\", \"query_concurrency\":7},{\"query_concurrency\":5}]" } ]
[ { "ParameterName": "wlm_json_configuration", "ParameterValue": "[{\"query_group\":[\"reports\"],\"query_group_wild_card\":0,\"query_concurrency\":4,\"max_execution_time\":20000,\"memory_percent_to_use\":25},{\"user_group\":[\"admin\",\"dba\"],\"user_group_wild_card\":1,\"query_concurrency\":5,\"memory_percent_to_use\":40},{\"query_concurrency\":5,\"memory_percent_to_use\":35},{\"short_query_queue\": true, \"max_execution_time\": 5000 }]", "ApplyType": "dynamic" } ]
Regeln für die Konfiguration WLM mit dem AWS CLI in der Befehlszeile auf den Betriebssystemen Linux und MacOS X
Folgen Sie diesen Regeln, um eine auszuführen AWS CLI Befehl mit Parametern in einer Zeile:
-
Die gesamte JSON Struktur muss in einfache Anführungszeichen (') und eine Reihe von Klammern ([]) eingeschlossen werden.
-
Alle Parameternamen und Parameterwerte müssen in doppelte Anführungszeichen (") eingeschlossen werden.
-
Innerhalb des
ParameterValue
-Werts müssen Sie die gesamte eingebettete Struktur in doppelte Anführungszeichen (") und Klammern ([ ]) einschließen. -
Innerhalb der eingebetteten Struktur müssen alle Eigenschaften und Werte für jede Warteschlange in geschweifte Klammern ({ }) eingeschlossen werden.
-
Innerhalb der eingebetteten Struktur müssen Sie den umgekehrten Schrägstrich (\) als Escape-Zeichen vor jedem doppelten Anführungszeichen (") verwenden.
-
Für Name-/Wert-Paare trennt ein Doppelpunkt (:) jede Eigenschaft von ihrem Wert.
-
Alle Name-/Wert-Paare werden voneinander durch Kommata (,) getrennt.
-
Mehrere Warteschlangen werden durch ein Komma (,) zwischen der schließenden geschweiften Klammer einer Warteschlange (}) und der öffnenden geschweiften Klammer der nächsten Warteschlange getrennt.
Regeln für die Konfiguration WLM mit dem AWS CLI in Windows PowerShell auf Microsoft Windows-Betriebssystemen
Folgen Sie diesen Regeln, um eine auszuführen AWS CLI Befehl mit Parametern in einer Zeile:
-
Die gesamte JSON Struktur muss in einfache Anführungszeichen (') und eine Reihe von Klammern ([]) eingeschlossen werden.
-
Alle Parameternamen und Parameterwerte müssen in doppelte Anführungszeichen (") eingeschlossen werden.
-
Innerhalb des
ParameterValue
-Werts müssen Sie die gesamte eingebettete Struktur in doppelte Anführungszeichen (") und Klammern ([ ]) einschließen. -
Innerhalb der eingebetteten Struktur müssen alle Eigenschaften und Werte für jede Warteschlange in geschweifte Klammern ({ }) eingeschlossen werden.
-
Innerhalb der eingebetteten Struktur müssen Sie den umgekehrten Schrägstrich (\) als Escape-Zeichen vor jedem doppelten Anführungszeichen (") und dessen Escape-Zeichen (umgekehrter Schrägstrich (\)) verwenden. Dies bedeutet, dass Sie drei umgekehrte Schrägstriche und ein doppeltes Anführungszeichen verwenden müssen, um sicherzustellen, dass die Eigenschaften korrekt übergeben werden („\\\“).
-
Für Name-/Wert-Paare trennt ein Doppelpunkt (:) jede Eigenschaft von ihrem Wert.
-
Alle Name-/Wert-Paare werden voneinander durch Kommata (,) getrennt.
-
Mehrere Warteschlangen werden durch ein Komma (,) zwischen der schließenden geschweiften Klammer einer Warteschlange (}) und der öffnenden geschweiften Klammer der nächsten Warteschlange getrennt.
Regeln für die Konfiguration WLM mithilfe der Befehlszeile auf Windows-Betriebssystemen
Folgen Sie diesen Regeln, um eine auszuführen AWS CLI Befehl mit Parametern in einer Zeile:
-
Die gesamte JSON Struktur muss in doppelte Anführungszeichen („) und eine Reihe von Klammern ([]) eingeschlossen werden.
-
Alle Parameternamen und Parameterwerte müssen in doppelte Anführungszeichen (") eingeschlossen werden.
-
Innerhalb des
ParameterValue
-Werts müssen Sie die gesamte eingebettete Struktur in doppelte Anführungszeichen (") und Klammern ([ ]) einschließen. -
Innerhalb der eingebetteten Struktur müssen alle Eigenschaften und Werte für jede Warteschlange in geschweifte Klammern ({ }) eingeschlossen werden.
-
Innerhalb der eingebetteten Struktur müssen Sie den umgekehrten Schrägstrich (\) als Escape-Zeichen vor jedem doppelten Anführungszeichen (") und dessen Escape-Zeichen (umgekehrter Schrägstrich (\)) verwenden. Dies bedeutet, dass Sie drei umgekehrte Schrägstriche und ein doppeltes Anführungszeichen verwenden müssen, um sicherzustellen, dass die Eigenschaften korrekt übergeben werden („\\\“).
-
Für Name-/Wert-Paare trennt ein Doppelpunkt (:) jede Eigenschaft von ihrem Wert.
-
Alle Name-/Wert-Paare werden voneinander durch Kommata (,) getrennt.
-
Mehrere Warteschlangen werden durch ein Komma (,) zwischen der schließenden geschweiften Klammer einer Warteschlange (}) und der öffnenden geschweiften Klammer der nächsten Warteschlange getrennt.