pyspark methods math.max,math.ceil错误名称“math”未定义

hlswsv35  于 2021-05-17  发布在  Spark
关注(0)|答案(1)|浏览(418)

我有以下函数和以下数学方法:
math.max和math.ceil。

def dp():
  defaultParallelism  = spark.sparkContext.defaultParallelism
  return defaultParallelism

def files(dp, multiplier, ram, target):
  maxPartitions = math.max(dp * multiplier, math.ceil(ram / target).toInt)
  return maxPartitions

当我执行以下代码行时:

targetMb = target(128)
maxPartitions = files(defaultParallelism, 2, ramMb, targetMb)

我收到以下错误消息:
nameerror:未定义名称“math”
完全错误如下:

---->  maxPartitions = files(defaultParallelism, 2, ramMb, targetMb)

---->  maxPartitions = math.max(dp * multiplier, math.ceil(ram / target).toInt)

有什么问题吗?我想这是因为math.max和math.ceiling

taor4pac

taor4pac1#

当我删除以下模块时,此问题已得到修复:

from pyspark.sql.functions import *
from pyspark.sql.functions import rand
from pyspark.sql.types import *
from pyspark.sql import SparkSession
from pyspark.sql import DataFrame

出于某种原因(我真的不知道为什么),每当代码中包含上述任何模块时,我都会出现错误

相关问题