ML mit Athena-Syntax verwenden - Amazon Athena

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.

ML mit Athena-Syntax verwenden

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. Jede variable_data_type gibt eine benannte Variable und ihren entsprechenden Datentyp an, den das SageMaker-AI-Modell als Eingabe akzeptiert. Der angegebene Datentyp muss ein unterstützter Athena-Datentyp sein.

RETURNS data_type

data_type gibt den SQL-Datentyp an, den ml_function_name als Ausgabe aus dem SageMaker-AI-Modell an die Abfrage zurückgibt.

SAGEMAKER 'sagemaker_endpoint'

sagemaker_endpoint gibt den Endpunkt des SageMaker-AI-Modells an.

SELECT [...] ml_function_name(expression) [...]

Die SELECT-Abfrage, die Werte an Funktionsvariablen und das SageMaker-AI-Modell übergibt, um ein Ergebnis zurückzugeben. ml_function_name gibt die zuvor in der Abfrage definierte Funktion an, gefolgt von einem Ausdruck, der ausgewertet wird, um Werte zu übergeben. Die übergebenen und zurückgegebenen Werte müssen mit den Datentypen übereinstimmen, die in der Klausel USING 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;