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.
Verwenden Sie den kostenbasierten Optimierer
Sie können die kostenbasierte Optimizer (CBO) -Funktion in Athena verwenden, um Ihre Abfragen SQL zu optimieren. Sie können optional anfordern, dass Athena Statistiken auf Tabellen- oder Spaltenebene für eine Ihrer Tabellen in AWS Glue sammelt. Wenn alle Tabellen in Ihrer Abfrage Statistiken enthalten, verwendet Athena die Statistiken, um einen Ausführungsplan zu erstellen, den es für den leistungsfähigsten hält. Der Abfrageoptimierer berechnet alternative Pläne auf der Grundlage eines statistischen Modells und wählt dann den Plan aus, mit dem die Abfrage wahrscheinlich am schnellsten ausgeführt werden kann.
Statistiken zu AWS Glue Tabellen werden gesammelt und gespeichert und Athena zur Verfügung gestellt, um die AWS Glue Data Catalog Planung und Ausführung von Abfragen zu verbessern. Bei diesen Statistiken handelt es sich um Statistiken auf Spaltenebene, z. B. die Anzahl der eindeutigen Werte, die Anzahl der Null-, Höchst- und Minuswerte für Dateitypen wie Parquet,,ORC, JSONION, CSV und. XML Amazon Athena verwendet diese Statistiken, um Abfragen zu optimieren, indem die restriktivsten Filter so früh wie möglich bei der Abfrageverarbeitung angewendet werden. Diese Filterung begrenzt die Speichernutzung und die Anzahl der Datensätze, die gelesen werden müssen, um die Abfrageergebnisse zu liefern.
In Verbindung mit CBO verwendet Athena eine Funktion namens regelbasierter Optimizer (). RBO RBOwendet mechanisch Regeln an, von denen erwartet wird, dass sie die Abfrageleistung verbessern. RBOist generell vorteilhaft, weil seine Transformationen darauf abzielen, den Abfrageplan zu vereinfachen. Da jedoch RBO keine Kostenberechnungen oder Planvergleiche durchgeführt werden, erschweren kompliziertere Abfragen RBO die Erstellung eines optimalen Plans.
Aus diesem Grund verwendet Athena beides RBO und CBO um Ihre Abfragen zu optimieren. Nachdem Athena Möglichkeiten zur Verbesserung der Abfrageausführung identifiziert hat, erstellt es einen optimalen Plan. Informationen zu Ausführungsplandetails finden Sie unter Ausführungspläne für SQL Abfragen anzeigen. Eine ausführliche Erläuterung der CBO Funktionsweise finden Sie unter Schnellere Abfragen mit dem kostenbasierten Optimierer in Amazon Athena
Um Statistiken für AWS Glue Katalogtabellen zu generieren, können Sie die Athena-Konsole, die AWS Glue Konsole oder AWS Glue APIs verwenden. Da Athena in AWS Glue Catalog integriert ist, erhalten Sie automatisch die entsprechenden Verbesserungen der Abfrageleistung, wenn Sie Abfragen von Amazon Athena ausführen.
Überlegungen und Einschränkungen
-
Tabellentypen — Derzeit unterstützt die CBO Funktion in Athena nur Hive-Tabellen, die sich in der befinden. AWS Glue Data Catalog
-
Athena for Spark — Die CBO Funktion ist in Athena for Spark nicht verfügbar.
-
Preise – Informationen zur Preisgestaltung finden Sie auf der AWS Glue -Preisseite
.
Generieren Sie Tabellenstatistiken mit der Athena-Konsole
In diesem Abschnitt wird beschrieben, wie Sie mit der Athena-Konsole Statistiken auf Tabellen- oder Spaltenebene für eine Tabelle in AWS Glue generieren. Informationen AWS Glue zur Generierung von Tabellenstatistiken finden Sie unter Arbeiten mit Spaltenstatistiken im AWS Glue Entwicklerhandbuch.
So generieren Sie Tabellenstatistiken mit der Athena-Konsole
Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/
. -
Wählen Sie in der Tabellenliste des Athena-Abfrageeditors die drei vertikalen Punkte für die gewünschte Tabelle aus, und wählen Sie dann Statistik generieren aus.
-
Wählen Sie im Dialogfeld Statistik generieren die Option Alle Spalten, um Statistiken für alle Spalten in der Tabelle zu generieren, oder wählen Sie Ausgewählte Spalten, um bestimmte Spalten auszuwählen. Der Standardwert ist Alle Spalten.
-
Erstellen Sie für die AWS Glue Servicerolle eine vorhandene Servicerolle oder wählen Sie eine aus, um die Erlaubnis zum Generieren von Statistiken AWS Glue zu erteilen. Die AWS Glue -Servicerolle erfordert außerdem
S3:GetObject
-Berechtigungen für den Amazon-S3-Bucket, der die Daten der Tabelle enthält. -
Wählen Sie Statistik generieren. A Generieren von Statistiken für
table_name
Ein Benachrichtigungsbanner zeigt den Status der Aufgabe an. -
Um Details in der AWS Glue Konsole anzuzeigen, wählen Sie In Glue anzeigen.
Informationen zum Anzeigen von Statistiken in der AWS Glue Konsole finden Sie unter Spaltenstatistiken anzeigen im AWS Glue Entwicklerhandbuch.
-
Nach der Generierung der Statistiken wird in den Tabellen und Spalten mit Statistiken das Wort Statistik in Klammern angezeigt, wie in der folgenden Abbildung.
Wenn Sie jetzt Ihre Abfragen ausführen, führt Athena eine kostenbasierte Optimierung der Tabellen und Spalten durch, für die Statistiken generiert wurden.
Weitere Ressourcen
Weitere Informationen finden Sie in der folgenden Ressource.