Javapark2
两种说法有什么区别吗-
Dataset<Row> Data;
Data.repartition(new Column("key" )) ;
and
Data.repartition(Data.col("key" ) ;
在做
Data.repartition(new Column("key"));
相当于
import static org.apache.spark.sql.functions.col;
Data.repartition(col("key"));
在这些情况下,该列不直接与数据集相关联,Spark需要在分析阶段解析它。
如果你用代替
Data.repartition(Data.col("key");
您正在向Spark发出一条指令,其中是列所属的数据集。此方法主要用于连接,例如,您可以拥有两个具有公共列名的数据集。
在您的示例中,结果是等效的,您可以使用这两种形式。