Java spark2
这两个语句有什么区别
Dataset<Row> Data;
Data.repartition(new Column("key" )) ;
and
Data.repartition(Data.col("key" ) ;
答案 0 :(得分:0)
做
Data.repartition(new Column("key"));
等效于
import static org.apache.spark.sql.functions.col;
Data.repartition(col("key"));
在这些情况下,该列不直接与数据集相关联,因此Spark需要during the Analysis phase对其进行解析。
如果您改用
Data.repartition(Data.col("key");
您正在向Spark发出指令,该指令是列所属的数据集。 此方法主要用于连接(例如,两个具有相同列名的数据集)的联接中。
在您的示例中,结果是相同的,您可以使用两种形式。