首页 > 解决方案 > 如何在 pyspark 中进行并行计算以提高效率,而不是循环“for”?

问题描述

import pyspark.sql.functions as F
pd_df = pd.DataFrame(np.arange(30).reshape(6 ,5), columns=['a', 'b', 'c', 'd', 'e'])
print df
spark_df = sqlContext.createDataFrame(df)
for col in ['b', 'c', 'd', 'e']:
    df_groupby = spark_df.groupby(col).count(F.col('a'))
    spark_df = spark_df.join(df_groupby, col, how = 'left')

输出:

    a   b   c   d   e
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
3  15  16  17  18  19
4  20  21  22  23  24
5  25  26  27  28  29

我有一个像这种类型的大数据要处理

我认为关于“for”的循环会降低效率

谁能告诉我如何并行计算以提高 pyspark 的效率

真诚的感谢

标签: for-looppysparkprocessing-efficiency

解决方案


推荐阅读