Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blogbeitrag
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.
Tutorial: Verwenden der generativen SQL-Funktion von Amazon Q mit den TICKIT-Daten
Um effiziente Aufforderungen zum Generieren von SQL zu erstellen, müssen Sie sich mit Ihrem Datenbankschema und Ihren Daten vertraut machen. Die TICKIT-Daten umfassen sieben Tabellen, zwei Faktentabellen und fünf Dimensionen. Die Beispieldaten enthalten Aufzeichnungen über Verkäufe an Besucher von Unterhaltungsveranstaltungen, die im Jahr 2008 stattfanden. Weitere Informationen über das TICKIT-Datenschema finden Sie unter Beispieldatenbank im Datenbankentwicklerhandbuch zu Amazon Redshift. Sie können die TICKIT-Daten mit verschiedenen Methoden in der Amazon Redshift-Konsole und in Query Editor v2 in eine Datenbank laden. Query Editor v2 bietet eine Methode zum Laden von TICKIT-Daten in die Datenbank sample_data_dev
. Weitere Informationen finden Sie unter Laden von Daten in eine Datenbank. Query Editor v2 bietet auch Beispielaufforderungen für die TICKIT-Daten. Das folgende Szenario beschreibt eine Konversation mit generativem SQL zum Generieren von SQL zu den TICKIT-Beispieldaten. In diesem Szenario sind die TICKIT-Beispieldaten bereits in einer Datenbank dev
in einem Amazon-Redshift-Cluster erstellt.
Anmerkung
Dieses Beispiel dient der Veranschaulichung einer Konversation. Es kann sein, dass die Antworten des generativen SQL nicht mit den Ergebnissen übereinstimmen, die Sie bei Verwendung derselben Aufforderungen erhalten.
Beispiel für eine Konversation mit Amazon Q Generative SQL
Stellen Sie im Editor eine Verbindung zu einem Cluster oder einer Arbeitsgruppe her, die die TICKIT-Beispieldaten enthält.
Erstellen Sie ein leeres Notebook und wählen Sie das Symbol für generatives SQL
, um den Chat-Bereich zu öffnen.
-
Geben Sie die folgende Aufforderung ein, um SQL zur Überprüfung der Anzahl der Datensätze in der Tabelle
VENUE
zu generieren:How many venues are there?
SELECT COUNT(*) AS num_venues FROM tickit.venue
Wählen Sie Zu Notebook hinzufügen aus, um dem geöffneten Notebook zwei Zellen hinzuzufügen. Eine Markdown-Zelle „How many venues are there?“ und eine mit dem generierten SQL.
Wählen Sie in der SQL-Zelle Ausführen aus, um das Ergebnis zu erhalten:
count ------ 202
-
Um nach einer anderen Version von SQL zu fragen, wählen Sie SQL neu generieren aus. Sie erhalten die folgende Antwort:
SELECT venuestate, COUNT(*) AS num_venues FROM tickit.venue GROUP BY venuestate
Wählen Sie Zu Notebook hinzufügen aus, um dem geöffneten Notebook zwei weitere Zellen hinzuzufügen. Eine Markdown-Zelle „How many venues are there?“ und eine mit dem generierten SQL.
Wählen Sie in der SQL-Zelle die Option Ausführen aus, um das Ergebnis, eine Auflistung der Bundesstaaten der Veranstaltungsorte nach Anzahl, zu erhalten.
venuestate num_venues ---------------------- MA 4 OH 8 MI 5 ...
-
Der generative SQL-Assistent kann Annahmen darüber treffen, was Sie fragen. Obwohl es in der Datenbank keine Widgets gibt, können Sie dennoch fragen. In diesem Fall erhalten Sie die Meldung, dass kein SQL generiert werden konnte.
How many widgets are there?
I was not able to generate any SQL
-
Wenn Sie mehr über Ihre Datenbank erfahren, können Sie spezifischere Fragen zum Generieren von SQL stellen. Sie wissen beispielsweise, dass die Datenbank Verkaufsdaten zu mehreren Monaten im Jahr 2008 enthält. Geben Sie die folgende Aufforderung ein, um SQL zur Ermittlung der Anzahl der Verkäufe im November 2008 zu generieren:
How many sales were there in November 2008?
SELECT COUNT(*) AS num_sales FROM tickit.sales s JOIN tickit.date d ON s.dateid = d.dateid WHERE d.month = 'November' AND d.year = 2008
Wählen Sie Zu Notebook hinzufügen aus, um dem geöffneten Notebook zwei Zellen hinzuzufügen. Eine Markdown-Zelle „How many sales were there in November 2008?“ und eine mit dem generierten SQL.
Wählen Sie in der SQL-Zelle Ausführen aus, um das Ergebnis zu erhalten:
num_sales ----- 0
Sie erkennen, dass dies nicht das Ergebnis ist, das Sie erwartet haben.
-
Sie stellen fest, dass das Prädikat
date.month='November'
erwartet, dass der Monat in der DATE-Tabelle durch eine Abkürzung des Monatsnamens dargestellt wird. Sie ändern das Prädikat ind.month='NOV'
und führen das SQL erneut aus.SELECT COUNT(*) FROM sales JOIN date ON sales.dateid = date.dateid WHERE date.month = 'NOV' AND date.year = 2008
Wählen Sie in der SQL-Zelle Ausführen aus, um neue Ergebnisse zu erhalten.
count ----- 14261
-
Wenn Sie eine Frage stellen, die versucht, die verbundene Datenbank zu ändern, wird eine Warnmeldung zusammen mit dem empfohlenen SQL zurückgegeben. Geben Sie die folgende Aufforderung ein, um SQL zum Einfügen von Daten in eine Tabelle zu generieren:
Insert 1 into the venue table.
INSERT , UPDATE OR delete data FROM the database AS that could potentially change the data.Please provide a query that ONLY selects data
I was not able to generate the correct SQL code. I generated SQL, but you'll have to edit it to work with your database.
Wenn Sie Zu Notebook hinzufügen auswählen, um dem geöffneten Notebook zwei Zellen hinzuzufügen und das SQL auszuführen, schlägt das SQL fehl.
ERROR: syntax error at or near "," Position: 132 [ErrorId: 1-6546764a-011df2691778846219ce6ec2]
In diesem Szenario wurden nur einige grundlegende Möglichkeiten zur Interaktion mit dem generativen SQL von Amazon Q veranschaulicht. Sie können noch mehr mit dieser generativen KI-Technologie experimentieren, um leichter mit der Erstellung von SQL zur Abfrage Ihrer Datenbank beginnen zu können.