spark避免在多个节点上分布小Dataframe

lnxxn5zx  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(282)

我有小的摘要Dataframe df_var (10多列,大约30行)循环不断变化,然后加入一个大数据集

df = spark.sql("select * from my_table")
for iter in range(0,num_iter):
   for v in var_list:
     //....
     //Operations here that changes df
     df_var = f1(df_var, ...)
     df = f2(...)
     ..
     df = join(df, df_var)

我的循环在这样一个典型的时间轴上运行缓慢

我想问:
我看到了很多关于 df 以及 df_var 在执行计划中,并希望避免他们。对于df,我 repartition 把它们分成5-10个分区。对于小型Dataframedfèvar,我应该如何处理它们?有没有一种方法可以把它们放在一个节点上,以避免对每个循环进行洗牌? Scheduler Delay 以及 Task Deserialization Time 意义重大。我们如何解决这个问题?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题