gpt4 book ai didi

scala - 小型数据集的 Spark 性能

转载 作者:行者123 更新时间:2023-12-02 02:55:19 25 4
gpt4 key购买 nike

<分区>

我正在测试以下工作流程:

  1. 根据大量数据构建模型。 ( python )
  2. 使用该模型在生产服务器中执行估算。 (斯卡拉)

我正在使用带有 VectorIndexer 和 GBTRegressor 的管道。我有 5 个输入列(现在。最终,我们想添加更多)。我也许可以只使用 GBTRegressor,或者如果它有所不同,甚至可以使用其他模型。

第 1 步在 8 台机器的集群上大约需要 15 分钟,这很好。步骤 2 估计单个值大约需要 100 毫秒。我们希望将其作为 API 调用的一部分返回,因此 100 毫秒太长了。

我知道 spark 适用于大型数据集,这种缓慢可能是由于处理它的开销造成的,但是从大型数据集构建模型并在大型数据集上运行模型似乎是一种常见的用法 -案件。我可以使用专为较小数据集设计的东西,但这样我就无法从大型数据集构建模型。

是否有某种解决方法?我想坚持使用 spark,但是有什么方法可以更快地执行第二个操作吗?我错过了什么吗?

以下是我运行缓慢的代码部分的一些摘录:

val spark = SparkSession.builder()
.master("local")
.appName("Rendition Size Estimate")
.config("spark.ui.enabled",false)
.getOrCreate()
model = PipelineModel.load(r.getPath)

....

val input = RenditionSizeEstimator.spark.createDataFrame(Seq(
(0.0, Vectors.dense(x1, x2, x3, x4, x5))
)).toDF("label", "features")
val t = model.transform(input)
return t.head().getDouble(3) //column three is the prediction

相关问题:

更新:最后一个正在寻找如何提供预测服务。我已经知道(一种方式)如何,但我担心性能。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com