我有一个火花作业,该作业执行一些数据分析,并且每个作业之间的时间间隔很长(1-2小时)。我知道有些工作没有并行化,因此不算作工作,因此不会出现在资源管理器UI中。我希望找出花了这么长时间的东西?这是我的功能:
def analyse(df, columns):
return reduce(
lambda a, b: a.union(b),
(
df.agg(
F.count(F.when(F.isnull(c), c)).alias('NULL Count'),
F.countDistinct(df[c]).alias('Distinct Values')
).select(F.lit(c).alias("Column Name"), "NULL Count", 'Distinct Values')
for c in columns
)
)
有什么想法吗?