Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
In diesem Artikel wird das englische SDK für Apache Spark behandelt. Dieses englische SDK für Apache Spark wird nicht direkt von Databricks unterstützt. Um Feedback zu geben, Fragen zu stellen und Probleme zu melden, verwenden Sie die Registerkarte "Probleme " im englischen SDK für Apache Spark-Repository in GitHub.
Das englische SDK für Apache Spark übernimmt englische Anweisungen und kompiliert sie in Spark-Objekte. Ziel ist es, Spark benutzerfreundlicher und zugänglicher zu gestalten, sodass Sie sich darauf konzentrieren können, Erkenntnisse aus Ihren Daten zu extrahieren.
Die folgenden Informationen enthalten ein Beispiel, das beschreibt, wie Sie ein Azure Databricks Python-Notizbuch verwenden können, um das englische SDK für Apache Spark aufzurufen. In diesem Beispiel wird eine einfache englische Frage verwendet, um das englische SDK für Apache Spark zu leiten, um eine SQL-Abfrage in einer Tabelle aus Ihrem Azure Databricks-Arbeitsbereich auszuführen.
Anforderungen
- Databricks hat festgestellt, dass GPT-4 optimal mit dem englischen SDK für Apache Spark funktioniert. Dieser Artikel verwendet GPT-4 und geht davon aus, dass Sie über einen OpenAI-API-Schlüssel verfügen, der einem OpenAI-Abrechnungsplan zugeordnet ist. Um einen OpenAI-Abrechnungsplan zu starten, melden Sie sich an https://platform.openai.com/account/billing/overview, klicken Sie auf " Zahlungsplan starten", und folgen Sie den Anweisungen auf dem Bildschirm. Nachdem Sie einen OpenAI-Abrechnungsplan gestartet haben, melden Sie sich https://platform.openai.com/account/api-keys an, und klicken Sie auf "Neuen geheimen Schlüssel erstellen", um einen OpenAI-API-Schlüssel zu generieren.
- In diesem Beispiel wird ein Azure Databricks Python-Notizbuch verwendet, das Sie in einem Azure Databricks-Arbeitsbereich verwenden können, der mit einem Azure Databricks-Cluster verbunden ist.
Schritt 1: Installieren des Python-Pakets für das englische SDK für Apache Spark
Führen Sie in der ersten Zelle des Notizbuchs den folgenden Code aus, der auf der angefügten Computeressource die neueste Version des Python-Pakets für das englische SDK für Apache Spark installiert:
%pip install pyspark-ai --upgrade
Schritt 2: Starten Sie den Python-Kernel neu, um das aktualisierte Paket zu verwenden.
Führen Sie in der zweiten Zelle des Notizbuchs den folgenden Code aus, der den Python-Kernel neu startet, um das aktualisierte Python-Paket für das englische SDK für Apache Spark und seine aktualisierten Paketabhängigkeiten zu verwenden:
dbutils.library.restartPython()
Schritt 3: Festlegen des OpenAI-API-Schlüssels
Führen Sie in der dritten Zelle des Notizbuchs den folgenden Code aus, der eine Umgebungsvariable OPENAI_API_KEY mit dem Wert Ihres OpenAI-API-Schlüssels festlegt. Das englische SDK für Apache Spark verwendet diesen OpenAPI-Schlüssel, um sich bei OpenAI zu authentifizieren. Ersetzen Sie <your-openai-api-key> durch den Wert Ihres OpenAI-API-Schlüssels.
import os
os.environ['OPENAI_API_KEY'] = '<your-openai-api-key>'
Von Bedeutung
In diesem Beispiel schreiben Sie Ihren OpenAI-API-Schlüssel hart in das Notizbuch, um die Geschwindigkeit und Benutzerfreundlichkeit zu vereinfachen. In Produktionsszenarien ist es eine Sicherheits-Best-Practice, Ihren OpenAI API-Schlüssel nicht fest in Ihre Notizbücher einzuarbeiten. Ein alternativer Ansatz besteht darin, diese Umgebungsvariable für den angefügten Cluster festzulegen. Weitere Informationen finden Sie unter Umgebungsvariablen.
Schritt 4: Festlegen und Aktivieren der LLM
Führen Sie in der vierten Zelle des Notizbuchs den folgenden Code aus, der die LLM festlegt, die das englische SDK für Apache Spark verwenden soll, und aktiviert dann das englische SDK für Apache Spark mit dem ausgewählten Modell. In diesem Beispiel verwenden Sie GPT-4. Standardmäßig sucht das englische SDK für Apache Spark nach einer Umgebungsvariable namens OPENAI_API_KEY und verwendet seinen Wert für die Authentifizierung mit OpenAI, um GPT-4 zu verwenden:
from langchain.chat_models import ChatOpenAI
from pyspark_ai import SparkAI
chatOpenAI = ChatOpenAI(model = 'gpt-4')
spark_ai = SparkAI(llm = chatOpenAI)
spark_ai.activate()
Tipp
Um GPT-4 als Standard-LLM zu verwenden, können Sie diesen Code wie folgt vereinfachen:
from pyspark_ai import SparkAI
spark_ai = SparkAI()
spark_ai.activate()
Schritt 5: Erstellen eines Quelldatenframes
Führen Sie in der fünften Zelle des Notizbuchs den folgenden Code aus, der alle Daten in der samples.nyctaxi.trips Tabelle aus Ihrem Azure Databricks-Arbeitsbereich auswählt und diese Daten in einem DataFrame speichert, der für die Arbeit mit dem englischen SDK für Apache Spark optimiert ist. Dieser DataFrame wird hier durch die Variable dfdargestellt:
df = spark_ai._spark.sql("SELECT * FROM samples.nyctaxi.trips")
Schritt 6: Abfragen des DataFrame mithilfe einer einfachen englischen Frage
Führen Sie in der sechsten Zelle des Notizbuchs den folgenden Code aus, der das englische SDK für Apache Spark auffordern soll, die durchschnittliche Reisestrecke für jeden Tag im Januar 2016 zum nächsten Zehnten zu drucken.
df.ai.transform("What was the average trip distance for each day during the month of January 2016? Print the averages to the nearest tenth.").display()
Das englische SDK für Apache Spark druckt seine Analyse und endgültige Antwort wie folgt:
> Entering new AgentExecutor chain...
Thought: This can be achieved by using the date function to extract the date from the timestamp and then grouping by the date.
Action: query_validation
Action Input: SELECT DATE(tpep_pickup_datetime) as pickup_date, ROUND(AVG(trip_distance), 1) as avg_trip_distance FROM spark_ai_temp_view_2a0572 WHERE MONTH(tpep_pickup_datetime) = 1 AND YEAR(tpep_pickup_datetime) = 2016 GROUP BY pickup_date ORDER BY pickup_date
Observation: OK
Thought:I now know the final answer.
Final Answer: SELECT DATE(tpep_pickup_datetime) as pickup_date, ROUND(AVG(trip_distance), 1) as avg_trip_distance FROM spark_ai_temp_view_2a0572 WHERE MONTH(tpep_pickup_datetime) = 1 AND YEAR(tpep_pickup_datetime) = 2016 GROUP BY pickup_date ORDER BY pickup_date
> Finished chain.
Das englische SDK für Apache Spark führt seine endgültige Antwort aus und druckt die Ergebnisse wie folgt:
+-----------+-----------------+
|pickup_date|avg_trip_distance|
+-----------+-----------------+
| 2016-01-01| 3.1|
| 2016-01-02| 3.0|
| 2016-01-03| 3.2|
| 2016-01-04| 3.0|
| 2016-01-05| 2.6|
| 2016-01-06| 2.6|
| 2016-01-07| 3.0|
| 2016-01-08| 2.9|
| 2016-01-09| 2.8|
| 2016-01-10| 3.0|
| 2016-01-11| 2.8|
| 2016-01-12| 2.9|
| 2016-01-13| 2.7|
| 2016-01-14| 3.3|
| 2016-01-15| 3.0|
| 2016-01-16| 3.0|
| 2016-01-17| 2.7|
| 2016-01-18| 2.9|
| 2016-01-19| 3.1|
| 2016-01-20| 2.8|
+-----------+-----------------+
only showing top 20 rows
Nächste Schritte
- Versuchen Sie, den DataFrame zu erstellen, der in diesem Beispiel durch die Variable
dfmit unterschiedlichen Daten dargestellt wird. - Versuchen Sie, verschiedene einfache englische Fragen für die
df.ai.transformFunktion zu verwenden. - Probieren Sie verschiedene GPT-4-Modelle aus. Siehe GPT-4.
- Sehen Sie sich weitere Codebeispiele an. Weitere Informationen finden Sie in den folgenden Ressourcen.
Weitere Ressourcen
- Das englische SDK für Apache Spark-Repository in GitHub
- Die Dokumentationswebsite des englischen SDK für Apache Spark
- Der Blogbeitrag Einführung in Englisch als neue Programmiersprache für Apache Spark
- Die Ankündigung und Demonstration des englischen SDK für Apache Spark bei der Data + AI Summit Keynote im Jahr 2023.
- Das englische SDK für die Apache Spark-Sitzung während des Data + AI Summit 2023