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.
Verwendung von Machine Learning (ML) mit Amazon Athena
Mit Machine Learning (ML) mit Amazon Athena können Sie Athena verwenden, um SQL-Anweisungen zu schreiben, die Machine Learning (ML) -Inferenzen mithilfe von Amazon ausführen. SageMaker Dieses Feature vereinfacht den Zugriff auf ML-Modelle zum Zweck von Datenanalysen. Daher müssen keine komplexen Programmiermethoden verwendet werden, um Inferenzen auszuführen.
Um ML mit Athena zu verwenden, definieren Sie eine ML mit Athena Funktion mit der USING EXTERNAL
FUNCTION
-Klausel. Die Funktion zeigt auf den SageMaker Modellendpunkt, den Sie verwenden möchten, und gibt die Variablennamen und Datentypen an, die an das Modell übergeben werden sollen. Die folgenden Klauseln in der Abfrage verweisen auf die Funktion, um Werte an das Modell zu übergeben. Das Modell führt Inferenzen basierend auf den von der Abfrage übergebenen Werten aus und gibt anschließend Inferenzergebnisse zurück. Weitere Informationen zu SageMaker und zur Funktionsweise von SageMaker Endgeräten finden Sie im Amazon SageMaker Developer Guide.
Ein Beispiel, das ML mit Athena und SageMaker Inferenz verwendet, um einen anomalen Wert in einer Ergebnismenge zu erkennen, finden Sie im AWS Big Data-Blogartikel Erkennen anomaler Werte durch Aufrufen
Überlegungen und Einschränkungen
-
Verfügbare Regionen — Die Athena ML-Funktion ist eine Funktion, AWS-Regionen in der die Athena Engine Version 2 oder höher unterstützt wird.
-
SageMaker model endpoint must accept and return
text/csv
— Weitere Informationen zu Datenformaten finden Sie unter Common Data Formats for Inference im Amazon SageMaker Developer Guide. -
Athena sendet keine CSV-Header — Wenn Ihr SageMaker Endpunkt dies ist
text/csv
, sollte Ihr Eingabe-Handler nicht davon ausgehen, dass die erste Zeile der Eingabe ein CSV-Header ist. Da Athena keine CSV-Header sendet, enthält die an Athena zurückgegebene Ausgabe eine Zeile weniger als von Athena erwartet, und verursacht einen Fehler. -
SageMaker Endpunktskalierung — Stellen Sie sicher, dass der SageMaker Referenzmodellendpunkt für Athena-Aufrufe an den Endpunkt ausreichend hochskaliert ist. Weitere Informationen finden Sie unter Automatisches Skalieren von SageMaker Modellen im Amazon SageMaker Developer Guide und CreateEndpointConfigin der Amazon SageMaker API-Referenz.
-
IAM-Berechtigungen — Um eine Abfrage auszuführen, die eine ML mit Athena-Funktion spezifiziert, muss der IAM-Prinzipal, der die Abfrage ausführt, berechtigt sein, die
sagemaker:InvokeEndpoint
Aktion für den referenzierten SageMaker Modellendpunkt auszuführen. Weitere Informationen finden Sie unter Erlauben des Zugriffs für ML mit Athena. -
ML-Athena-Funktionen dürfen in
GROUP BY
-Klauseln nicht direkt verwendet werden
ML mit Athena-Syntax
Die Klausel USING EXTERNAL FUNCTION
gibt eine ML-Athena-Funktion oder mehrere Funktionen an, auf die durch eine nachfolgende SELECT
-Anweisung in der Abfrage verwiesen werden kann. Sie definieren den Funktionsnamen, die Variablennamen und die Datentypen für die Variablen und Rückgabewerte.
Syntax
Die folgende Syntax zeigt ein eUSING EXTERNAL FUNCTION
-Klausel, die eine ML-Athena-Funktion angibt.
USING EXTERNAL FUNCTION ml_function_name
(variable1
data_type
[, variable2
data_type
][,...])
RETURNS data_type
SAGEMAKER 'sagemaker_endpoint
'
SELECT ml_function_name
()
Parameter
- USING EXTERNAL FUNCTION
ml_function_name
(variable1
data_type
[,variable2
data_type
][,...]) -
ml_function_name
definiert den Namen der Funktion. Dieser kann in nachfolgenden Abfrageklauseln verwendet werden. JedeVariable data_type
spezifiziert eine benannte Variable und den entsprechenden Datentyp, den SageMaker das Modell als Eingabe akzeptiert. Der angegebene Datentyp muss ein unterstützter Athena-Datentyp sein. - RETURNS
data_type
-
data_type
gibt den SQL-Datentyp an, denml_function_name als Ausgabe aus dem Modell an die Abfrage
zurückgibt. SageMaker - SAGEMAKER '
sagemaker_endpoint
' -
sagemaker_endpoint gibt
den Endpunkt des Modells an. SageMaker - SELECT [...]
ml_function_name
(expression
) [...] -
Die SELECT-Abfrage, die Werte an Funktionsvariablen und das SageMaker Modell weitergibt, um ein Ergebnis zurückzugeben.
ml_function_name
gibt die zuvor in der Abfrage definierte Funktion an, gefolgt von einemAusdruck
, der ausgewertet wird, um Werte zu übergeben. Die übergebenen und zurückgegebenen Werte müssen mit den Datentypen übereinstimmen, die in der KlauselUSING EXTERNAL FUNCTION
für die Funktion angegeben sind.
Beispiel
Das folgende Beispiel zeigt eine Abfrage mittels ML mit Athena.
USING EXTERNAL FUNCTION predict_customer_registration(age INTEGER) RETURNS DOUBLE SAGEMAKER 'xgboost-2019-09-20-04-49-29-303' SELECT predict_customer_registration(age) AS probability_of_enrolling, customer_id FROM "sampledb"."ml_test_dataset" WHERE predict_customer_registration(age) < 0.5;
Beispiele für die Verwendung von Kunden
Die folgenden Videos, in denen die Vorschauversion von Machine Learning (ML) mit Amazon Athena verwendet wird, zeigen, wie Sie es SageMaker mit Athena verwenden können.
Vorhersage der Kundenabwanderung
Das folgende Video zeigt, wie Athena mit den maschinellen Lernfunktionen von Amazon kombiniert werden kann, SageMaker um die Kundenabwanderung vorherzusagen.
Erkennen von Bot-Netzen
Das folgende Video zeigt, wie ein Unternehmen Amazon Athena und Amazon SageMaker zur Erkennung von Botnetzen verwendet.