联合火花 循环中的数据集



我正在尝试循环将数据集附加到空数据集。 但生成的数据集始终为空。

我试图通过仅执行代码中注释的第 1 行来消除循环中的变量failedRows,但数据集failedRows仍然为空。

Dataset<Row> failedRows = sparkSession.createDataFrame(new ArrayList<>(), itemsDS.schema());
failedRows.count();
Dataset<Row> filteredDs;
for(String tagName: mandatoryTagsList){
//failedRows.union(itemsDS.filter(functions.col(tagName).isNull()));//Line 1
filteredDs = itemsDS.filter(functions.col(tagName).isNull());
if(filteredDs.count()>0){
failedRows.union(filteredDs);//Line 2
failedRows.count();
}
}

有谁知道为什么工会没有产生预期的结果。

每次都需要保存到新变量。

DatasetSpark 中的所有分布式集合都是不可变的。

failedRows = failedRows.union(filteredDs);//Line 2

最新更新