Spark
在 Spark 上分布式运行 TimeGPT
Spark 是一个为大规模数据处理设计的开源分布式计算框架。在本指南中,我们将解释如何在 Spark 上使用 TimeGPT
。
大纲
1. 安装
通过 Fugue 安装 Spark。 Fugue 提供了一个易于使用的分布式计算接口,允许用户在包括 Spark 在内的多个分布式计算框架上执行 Python 代码。
注意
您可以使用
pip
安装fugue
如果在分布式 Spark
集群上执行,请确保 nixtla
库已安装在所有工作节点上。
2. 加载数据
您可以将数据加载为 pandas
DataFrame。在本教程中,我们将使用一个包含来自不同市场的每小时电价的数据集。
unique_id | ds | y | |
---|---|---|---|
0 | BE | 2016-10-22 00:00:00 | 70.00 |
1 | BE | 2016-10-22 01:00:00 | 37.10 |
2 | BE | 2016-10-22 02:00:00 | 37.10 |
3 | BE | 2016-10-22 03:00:00 | 44.75 |
4 | BE | 2016-10-22 04:00:00 | 37.10 |
3. 初始化 Spark
初始化 Spark
并将 pandas DataFrame 转换为 Spark
DataFrame。
4. 在 Spark 上使用 TimeGPT
在 Spark
上使用 TimeGPT
与非分布式情况几乎相同。唯一的区别是您需要使用 Spark
DataFrame。
首先,实例化 NixtlaClient
类。
👍 使用 Azure AI 端点
要使用 Azure AI 端点,设置
base_url
参数
nixtla_client = NixtlaClient(base_url="you azure ai endpoint", api_key="your api_key")
然后使用 NixtlaClient
类中的任何方法,例如 forecast
或 cross_validation
。
📘 Azure AI 中可用的模型
如果您使用的是 Azure AI 端点,请务必设置
model="azureai"
nixtla_client.forecast(..., model="azureai")
对于公共 API,我们支持两种模型:
timegpt-1
和timegpt-1-long-horizon
。默认使用
timegpt-1
。请参阅本教程了解如何以及何时使用timegpt-1-long-horizon
。
您还可以在 Spark
上将外生变量与 TimeGPT
一起使用。为此,请参阅外生变量教程。请记住,您需要使用 Spark
DataFrame,而不是 pandas DataFrame。
5. 停止 Spark
完成后,停止 Spark
会话。