Dataset dataset = null;
StructType schema = dataset.schema();
Dataset<Row> rowDataset = dataset.mapPartitions(
new MapPartitionsFunction<Row, Row>() {
@Override
public Iterator<Row> call(Iterator<Row> iterator) throws Exception {
List<Row> list = new ArrayList<>();
while (iterator.hasNext()) {
Row next = iterator.next();
}
return null;
}
}
, RowEncoder.apply(schema));
如上代码,如果debug需要定位到new MapPartitionsFunction<Row, Row>() 的call方法,需要如下操作:
1、定位到mapPartitions所在行

2、点击左下角debug的Step Into按钮

此时代码会出现如下情景:

3、这时点击call的函数体,此时就可进入call的函数里进行debug
Spark数据处理:debug MapPartitions函数
这段代码展示了如何在Spark中对mapPartitions函数进行调试。首先,定义一个空的Dataset,然后获取其Schema。接着,使用mapPartitions方法,传入一个实现了MapPartitionsFunction接口的匿名类,并在call方法中处理数据。在debug时,需要定位到mapPartitions调用处,点击StepInto进入call方法进行逐行调试。
9934

被折叠的 条评论
为什么被折叠?



