关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
4个月前关门了。
改进这个问题
我在sparkDataframe中有非常大的数据集,分布在节点上。我可以做一些简单的统计,比如 mean
, stdev
, skewness
, kurtosis
使用spark库 pyspark.sql.functions
.
如果我想使用高级统计测试,如jarquebera(jb)或shapirowilk(sw)等,我会使用python库,如 scipy
因为标准的apache pyspark库没有它们。但为了做到这一点,我必须将sparkDataframe转换为pandas,这意味着强制数据进入主节点,如下所示:
import scipy.stats as stats
pandas_df=spark_df.toPandas()
JBtest=stats.jarque_bera(pandas_df)
SWtest=stats.shapiro(pandas_df)
我有多个特性,每个特性id对应于我要在其上执行测试统计的数据集。
我的问题是:当数据仍然分布在节点上时,有没有办法在sparkDataframe上应用这些pythonic函数,或者我需要在spark中创建自己的jb/sw测试统计函数?
谢谢你的宝贵见解
暂无答案!
目前还没有任何答案,快来回答吧!