* @param block ステージブロック
* @return シャッフルの構造、シャッフルしない場合は{@code null}
* @throws IOException 出力に失敗した場合
*/
protected ShuffleModel compileShuffle(StageBlock block) throws IOException {
ShuffleModel shuffle = new ShuffleAnalyzer(environment).analyze(block);
assertThat(environment.hasError(), is(false));
if (shuffle == null) {
return null;
}
Name keyTypeName = new ShuffleKeyEmitter(environment).emit(shuffle);