我在Databricks上尝试使用Azure OpenAI服务将Apache Spark的英文SDK运行起来
简述
我将与您分享如何在Databricks上通过Azure OpenAI服务运行Apache Spark的英文SDK的方法。
Apache Spark 的英文软件开发工具包(SDK)是一个能够通过自然语言进行数据操作的库。有关更多详细信息,请参阅Databricks博客上的《引入英语作为Apache Spark的新编程语言》一文。

引用来源:Databricks博客《将英语引入作为Apache Spark的新编程语言》
不仅会输出执行结果,还会显示执行的代码,以便确认其有效性。

执行步骤
安装用于Apache Spark的英文软件开发工具包(pyspark-ai)。
%pip install pyspark-ai -q

将API的环境设置赋值给变量
import os
import openai
# `Azure`固定
openai.api_type = "azure"
# Azure Open AI のエンドポイント
openai.api_base = "https://manabian-XXXXXXX.azure.com/"
# Azure Docs 記載の項目
openai.api_version = "2023-05-15"
# Azure Open AI のキー
os.environ["OPENAI_API_KEY"] = "882257f4cfaXXXXXXXXXXXXXXXXXXXXX"
# デプロイ名
deployment_id = "gpth_3"
# デプロイしたモデル名
model_name = "gpt-35-turbo"

关于Azure Docs中所记录的注释1条目,我参考了下面的内容。

引用来源:Azure OpenAI 服务的“快速入门:使用 ChatGPT 和 GPT-4” – Azure OpenAI 服务 | Microsoft Learn
激活Apache Spark的英文软件开发工具包(pyspark-ai)。
from langchain.chat_models import ChatOpenAI
from pyspark_ai import SparkAI
llm = ChatOpenAI(
deployment_id=deployment_id,
model_name=model_name,
temperature=0,
)
spark_ai = SparkAI(llm=llm, verbose=True)
spark_ai.activate()

4. 数据加载
tpch_lineitem__spark_df = spark.read.table("samples.tpch.lineitem")
tpch_lineitem__spark_ai_df = spark_ai.transform_df(tpch_lineitem__spark_df, "get all data")
tpch_lineitem__spark_ai_df.display()

5. 通过 Apache Spark 的英文软件开发工具包(SDK),对数据帧进行说明。
tpch_lineitem__spark_ai_df.ai.explain()
In summary, this dataframe is retrieving all columns from the `lineitem` table in the `tpch` database of the `samples` catalog.

6. 使用英文SDK来操作Apache Spark中的数据框架。
transfomed__spark_ai_df = tpch_lineitem__spark_ai_df.ai.transform(
"`l_suppkey`別に、`l_quantity`と`l_extendedprice`を加算した値を`sales_amount`列として集計の上位10件。l_suppkey`列を文字型に変換。"
)

7. 利用 Apache Spark 的英文 SDK 进行数据可视化
transfomed__spark_ai_df.ai.plot("縦棒グラフ")
