Apache Spark için İngilizce SDK
Dekont
Bu makale Apache Spark için İngilizce SDK'sını kapsar. Apache Spark için bu İngilizce SDK, databricks tarafından doğrudan desteklenmez. Geri bildirim sağlamak, soru sormak ve sorunları bildirmek için GitHub'daki Apache Spark deposu için İngilizce SDK'daki Sorunlar sekmesini kullanın.
Apache Spark için İngilizce SDK, İngilizce yönergeler alır ve bunları Spark nesnelerine derler. Amacı Spark'ı daha kullanıcı dostu ve erişilebilir hale getirmektir. Bu sayede verilerinizden içgörü ayıklamaya odaklanabilirsiniz.
Aşağıdaki bilgiler, Apache Spark için İngilizce SDK'yı çağırmak için Azure Databricks Python not defterini nasıl kullanabileceğinizi açıklayan bir örnek içerir. Bu örnekte, Apache Spark için İngilizce SDK'sının Azure Databricks çalışma alanınızdaki bir tabloda SQL sorgusu çalıştırmasına yol gösteren düz İngilizce bir soru kullanılmaktadır.
Gereksinimler
- Databricks, GPT-4'in Apache Spark için İngilizce SDK ile en uygun şekilde çalıştığını tespit etti. Bu makalede GPT-4 kullanılır ve OpenAI faturalama planıyla ilişkilendirilmiş bir OpenAI API anahtarınız olduğu varsayılır. OpenAI faturalama planını başlatmak için adresinde https://platform.openai.com/account/billing/overviewoturum açın, Ödeme planını başlat'a tıklayın ve ekrandaki yönergeleri izleyin. OpenAI faturalama planını başlattıktan sonra OpenAI API anahtarı oluşturmak için adresinde oturum açın ve Yeni gizli anahtar oluştur'a https://platform.openai.com/account/api-keys tıklayın.
- Bu örnekte, Azure Databricks kümesine bağlı bir Azure Databricks çalışma alanında kullanabileceğiniz bir Azure Databricks Python not defteri kullanılır.
1. Adım: Apache Spark için İngilizce SDK için Python paketini yükleme
Not defterinin ilk hücresinde, apache Spark için İngilizce SDK için Python paketinin en son sürümünü ekli işlem kaynağına yükleyen aşağıdaki kodu çalıştırın:
%pip install pyspark-ai --upgrade
2. Adım: Güncelleştirilmiş paketi kullanmak için Python çekirdeğini yeniden başlatın
Not defterinin ikinci hücresinde, Apache Spark için İngilizce SDK'sı ve güncelleştirilmiş paket bağımlılıkları için güncelleştirilmiş Python paketini kullanmak üzere Python çekirdeğini yeniden başlatan aşağıdaki kodu çalıştırın:
dbutils.library.restartPython()
3. Adım: OpenAI API anahtarınızı ayarlama
Not defterinin üçüncü hücresinde, adlı OPENAI_API_KEY
bir ortam değişkenini OpenAI API anahtarınızın değerine ayarlayan aşağıdaki kodu çalıştırın. Apache Spark için İngilizce SDK, OpenAI ile kimlik doğrulaması yapmak için bu OpenAPI anahtarını kullanır. değerini OpenAI API anahtarınızın değeriyle değiştirin <your-openai-api-key>
:
import os
os.environ['OPENAI_API_KEY'] = '<your-openai-api-key>'
Önemli
Bu örnekte, hız ve kullanım kolaylığı için OpenAI API anahtarınızı not defterine sabit bir şekilde kodlarsınız. Üretim senaryolarında, OpenAI API anahtarınızı not defterlerinize sabit olarak kodlamayın. Alternatif yaklaşımlardan biri, bu ortam değişkenini ekli kümede ayarlamaktır. Bkz. Ortam değişkenleri.
4. Adım: LLM'yi ayarlama ve etkinleştirme
Not defterinin dördüncü hücresinde, Apache Spark için İngilizce SDK'nın kullanmasını istediğiniz LLM'yi ayarlayan ve ardından seçilen modelle Apache Spark için İngilizce SDK'yı etkinleştiren aşağıdaki kodu çalıştırın. Bu örnekte GPT-4 kullanırsınız. Varsayılan olarak, Apache Spark için İngilizce SDK adlı OPENAI_API_KEY
bir ortam değişkeni arar ve değerini kullanarak GPT-4 kullanmak üzere OpenAI ile kimlik doğrulaması yapar:
from langchain.chat_models import ChatOpenAI
from pyspark_ai import SparkAI
chatOpenAI = ChatOpenAI(model = 'gpt-4')
spark_ai = SparkAI(llm = chatOpenAI)
spark_ai.activate()
Bahşiş
GPT-4'i varsayılan LLM olarak kullanmak için bu kodu aşağıdaki gibi basitleştirebilirsiniz:
from pyspark_ai import SparkAI
spark_ai = SparkAI()
spark_ai.activate()
5. Adım: Kaynak DataFrame oluşturma
Not defterinin beşinci hücresinde, Azure Databricks çalışma alanınızdaki tablodaki samples.nyctaxi.trips
tüm verileri seçen ve bu verileri Apache Spark için İngilizce SDK ile çalışacak şekilde iyileştirilmiş bir DataFrame'de depolayan aşağıdaki kodu çalıştırın. Bu DataFrame burada değişkeniyle df
temsil edilir:
df = spark_ai._spark.sql("SELECT * FROM samples.nyctaxi.trips")
6. Adım: Düz İngilizce soru kullanarak DataFrame'i sorgulama
Not defterinin altıncı hücresinde, Apache Spark için İngilizce SDK'dan Ocak 2016'da her gün için en yakın onda bir ortalama yolculuk mesafesini yazdırmasını isteyen aşağıdaki kodu çalıştırın.
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()
Apache Spark için İngilizce SDK analizini ve son yanıtını aşağıdaki gibi yazdırır:
> 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.
Apache Spark için İngilizce SDK son yanıtını çalıştırır ve sonuçları aşağıdaki gibi yazdırır:
+-----------+-----------------+
|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
Sonraki adımlar
- Bu örnekte değişkeniyle
df
temsil edilen DataFrame'i farklı verilerle oluşturmayı deneyin. - İşlev için
df.ai.transform
farklı düz İngilizce sorular kullanmayı deneyin. - Farklı GPT-4 modellerini kullanmayı deneyin. Bkz. GPT-4.
- Ek kod örneklerini keşfedin. Aşağıdaki ek kaynaklara bakın.
Ek kaynaklar
- GitHub'daki Apache Spark deposu için İngilizce SDK
- Apache Spark için İngilizce SDK belgeleri web sitesi
- Apache Spark için Yeni Programlama Dili olarak İngilizce tanıtımı blog gönderisi
- 2023'ten bir Veri + Yapay Zeka Zirvesi açılış konuşması sırasında Apache Spark için İngilizce SDK duyurusu ve tanıtımı
- Data + AI Summit 2023 sırasında Apache Spark için İngilizce SDK oturumu