提问者:小点点

火花Java再分配


Javapark2
两种说法有什么区别吗-

Dataset<Row> Data; 


Data.repartition(new Column("key" )) ; 

and 

Data.repartition(Data.col("key" ) ;

共1个答案

匿名用户

在做

Data.repartition(new Column("key"));

相当于

import static org.apache.spark.sql.functions.col;
Data.repartition(col("key"));

在这些情况下,该列不直接与数据集相关联,Spark需要在分析阶段解析它。

如果你用代替

Data.repartition(Data.col("key");

您正在向Spark发出一条指令,其中是列所属的数据集。此方法主要用于连接,例如,您可以拥有两个具有公共列名的数据集。

在您的示例中,结果是等效的,您可以使用这两种形式。