【发布时间】:2017-10-31 06:09:10
【问题描述】:
TestDF 是一个数据框。可以在 for 循环内编辑/更改 10 次吗?
Spark 没有选项可以编辑并保存在同一数据集中。
java 也没有动态变量赋值。
需要在 for 循环中执行类似“Dataset <Row>testDF+(i+1) = testDF+(i)”(动态变量)或“Dataset <Row>testDF = testDF”(在同一数据集中)的操作。
有什么方法可以在 for 循环中循环 spark DF 吗?
String[] arraytest = schemaString.split(";");
for (int i=0;i < arraytest .length;i++) {
String fieldName = arraytest[i];
Dataset<Row> testDF+(i+1) = testDF+(i)
.withColumn(fieldName,
functions.when(functions.col(fieldName).equalTo(""),"-99")
.otherwise(functions.col(fieldName)));
}
【问题讨论】:
标签: java for-loop apache-spark-sql apache-spark-dataset