Den strikten Presto-Modus aktivieren - Amazon EMR

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.

Den strikten Presto-Modus aktivieren

In bestimmten Situationen können lang andauernde Abfragen zu hohen Kosten führen und Amazon veranlassen, mehr Cluster-Ressourcen EMR zu verwenden. Dadurch werden anderen Workloads im Cluster Ressourcen entzogen. Mit EMR Amazon-Versionen 6.8 und höher können Sie eine Funktion im strikten Modus verwenden, die die folgenden Arten von Abfragen mit langer Laufzeit ablehnt oder Sie davor warnt:

  • Abfragen ohne Prädikate für die partitionierten Spalten, die zu Tabellenscans großer Datenmengen führen

  • Abfragen mit Kreuzverknüpfungen zwischen zwei großen Tabellen

  • Abfragen, die eine große Anzahl von Zeilen ohne Limit sortieren

Nachdem Presto den Abfrageplan vollständig optimiert hat, wird der strikte Modus ausgeführt. Um den strikten Modus zu verwenden und an Ihre Abfrageanforderungen anzupassen, können Sie Presto wie folgt konfigurieren.

Presto-Konfigurationen für den strikten Modus
Einstellung Beschreibung Standard
strict-mode-enabled Schaltet den strikten Modus ein und aus. Der Wert von true gibt an, dass der strikte Modus aktiviert ist. false
strict-mode-fail-query Weist Abfragen ab, wenn der strikte Modus Abfragen mit wahrscheinlich langer Laufzeit erkennt. Wennfalse, gibt Amazon EMR nur eine Warnung aus. false
strict-mode-restrictions Gibt die Einschränkungen an, die gelten sollen, wenn der strikte Modus aktiviert ist. Der strikte Modus unterstützt die folgenden Einschränkungen: MANDATORY PARTITION _ DISALLOW _ PREDICATEJOIN, CROSS _ _ und LIMITED _SORT.

MANDATORY_PARTITION_PREDICATE,DISALLOW_CROSS_JOIN, LIMITED_SORT

Um mit dem strikten Modus zu experimentieren, können Sie diese Konfigurationen überschreiben oder sie als Sitzungseigenschaften festlegen, wenn Sie den Presto-Client verwenden.

Um die Konfiguration bei der Clustererstellung festzulegen, verwenden Sie AWS Management Console
  1. Wählen Sie Cluster erstellen und wählen Sie Amazon EMR Version 6.8.0 und Presto oder Trino aus. Weitere Informationen finden Sie unter Installieren von PrestoDB und Trino.

  2. Geben Sie die Konfigurationseigenschaften für den strikten Modus direkt an oder laden Sie eine JSON Datei auf Amazon S3 hoch. Wählen Sie optional den AWS Glue-Datenkatalog für Ihren Metastore aus. Geben Sie Ihre SubnetzeVPC, Bootstrap-Aktionen, Ihr key pair und Ihre Sicherheitsgruppe an. Um Ihren Cluster jetzt zu erstellen, wählen Sie Cluster erstellen aus.

  3. Melden Sie sich beim Primärknoten des Clusters an und führen Sie presto-cli oder trino-cli aus.

  4. Reichen Sie Ihre Anfragen ein. Der strikte Modus validiert jede Abfrage und stellt fest, ob sie lange andauert. Abhängig von Ihrer strict-mode-fail-query Einstellung EMR lehnt Amazon die Anfrage ab oder gibt eine Warnung aus.

  5. Wenn Sie mit Ihren Abfragen fertig sind, beenden Sie den Cluster und löschen Sie Ihre Ressourcen.

Um die Konfiguration auf einem laufenden Cluster festzulegen, verwenden Sie AWS CLI
  1. Melden Sie sich mit dem am primären Knoten Ihres Clusters an AWS CLI und führen Sie presto-cli oder austrino-cli.

  2. Führen Sie die folgenden Befehle mit den gewünschten Werten aus.

    set session strict_mode_enabled = true; set session strict_mode_fail_query = false; set session strict_mode_restrictions = 'DISALLOW_CROSS_JOIN,LIMITED_SORT';

Überlegungen

Berücksichtigen Sie bei der Verwendung des strikten Modus die folgenden Punkte:

  • In einigen Fällen kann der strikte Modus Abfragen mit kurzer Laufzeit zurückweisen, die nicht viele Ressourcen verbrauchen. Beispielsweise wenden Abfragen in kleinen Tabellen keine dynamische Filterung an und ersetzen auch keine inneren Verknüpfungen durch Kreuzverknüpfungen. Dies kann dazu führen, dass die Abfrage das obligatorische Partitionsprädikat verwendet oder Cross-Joins nicht zulässt. In diesem Fall lehnt der strikte Modus die Abfrage ab.

  • Die strenge Modusprüfung wird nur für die Typen SELECT INSERTSELECT, CREATE TABLE AS und EXPLAIN ANALYZE Abfragetypen angewendet.

  • Sie können die Einschränkung für das obligatorische Partitionsprädikat nur mit dem Hive-Konnektor verwenden.